{
  "openapi": "3.0.3",
  "info": {
    "title": "CLOUD API",
    "description": "\nIONOS Cloud Enterprise-grade Infrastructure as a Service (IaaS) solutions can be managed through the Cloud API, in addition or as an alternative to the \"Data Center Designer\" (DCD) browser-based tool. \n\n Both methods employ consistent concepts and features, deliver similar power and flexibility, and can be used to perform a multitude of management tasks, including adding servers, volumes, configuring networks, and so on.",
    "version": "6.0",
    "x-sdk-patch-level": 5
  },
  "servers": [
    {
      "url": "https://api.ionos.com/cloudapi/v6"
    }
  ],
  "tags": [
    {
      "name": "Root"
    },
    {
      "name": "Data centers"
    },
    {
      "name": "Locations"
    },
    {
      "name": "Servers"
    },
    {
      "name": "Images"
    },
    {
      "name": "Volumes"
    },
    {
      "name": "Snapshots"
    },
    {
      "name": "IP blocks"
    },
    {
      "name": "LANs"
    },
    {
      "name": "Network interfaces"
    },
    {
      "name": "Firewall rules"
    },
    {
      "name": "Security Groups"
    },
    {
      "name": "Flow Logs"
    },
    {
      "name": "Load Balancers"
    },
    {
      "name": "NAT Gateways"
    },
    {
      "name": "Network Load Balancers"
    },
    {
      "name": "Application Load Balancers"
    },
    {
      "name": "Target groups"
    },
    {
      "name": "Requests"
    },
    {
      "name": "Contract resources"
    },
    {
      "name": "User management"
    },
    {
      "name": "User S3 keys"
    },
    {
      "name": "Backup Service"
    },
    {
      "name": "Kubernetes",
      "description": "IONOS Cloud Managed Kubernetes (K8s) consist of two central building blocks:\n\nFirst, the Kubernetes cluster provides the control plane, although it is not directly visible. \n\nSecond, the node pools provide the worker nodes. While these are visible in a VDC, as Kubernetes is built on top of the compute engine, i.e., servers, volumes, etc."
    },
    {
      "name": "Cross Connects",
      "description": "Cross Connect allows you to connect virtual data centers (VDC) with each other using a private LAN. The VDCs to be connected need to belong to the same IONOS Cloud contract and location. You can only use private LANs for a Cross Connect connection. A LAN can only be a part of one Cross Connect.\n\nThe IP addresses of the NICs used for the Cross Connect connection may not be used in more than one NIC and they need to belong to the same IP range."
    },
    {
      "name": "Labels"
    },
    {
      "name": "Templates"
    },
    {
      "name": "Graphics Processing Unit cards"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "tags": [
          "Root"
        ],
        "summary": "Get API information",
        "description": "Retrieves the API information such as API version.",
        "operationId": "apiInfoGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Info"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/datacenters": {
      "get": {
        "tags": [
          "Data centers"
        ],
        "summary": "List your data centers",
        "description": "List the data centers for your account. Default limit is the first 100 items; use pagination query parameters for listing more items.",
        "operationId": "datacentersGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Datacenters"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Data centers"
        ],
        "summary": "Create a Data Center",
        "description": "Creates new data centers, and data centers that already contain elements, such as servers and storage volumes.\n\nVirtual data centers are the foundation of the platform; they act as logical containers for all other objects you create, such as servers and storage volumes. You can provision as many data centers as needed. Data centers have their own private networks and are logically segmented from each other to create isolation.",
        "operationId": "datacentersPost",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The data center to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DatacenterPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Datacenter"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "datacenter"
      }
    },
    "/datacenters/{datacenterId}": {
      "get": {
        "tags": [
          "Data centers"
        ],
        "summary": "Retrieve data centers",
        "description": "Retrieve data centers by resource ID. This value is in the response body when the data center is created, and in the list of the data centers, returned by GET.",
        "operationId": "datacentersFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Datacenter"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Data centers"
        ],
        "summary": "Modify a Data Center by ID",
        "description": "Modifies the properties of the specified data center, rename it, or change the description.",
        "operationId": "datacentersPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified data center.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DatacenterPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Datacenter"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "datacenter"
      },
      "delete": {
        "tags": [
          "Data centers"
        ],
        "summary": "Delete data centers",
        "description": "Delete the specified data center and all the elements it contains. This method is destructive and should be used carefully.",
        "operationId": "datacentersDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Data centers"
        ],
        "summary": "Partially modify a Data Center by ID",
        "description": "Updates the properties of the specified data center, rename it, or change the description.",
        "operationId": "datacentersPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the data center to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DatacenterPropertiesPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Datacenter"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "datacenter"
      }
    },
    "/locations": {
      "get": {
        "tags": [
          "Locations"
        ],
        "summary": "Get Locations",
        "description": "Retrieves the available physical locations where you can deploy cloud resources in a VDC. \n\n A location is identified by a combination of the following characters: \n\n * a two-character **regionId**, which represents a country (example: 'de') \n\n * a three-character **locationId**, which represents a city. The 'locationId' is typically based on the IATA code of the city's airport (example: 'txl'). \n\n >Note that 'locations' are read-only and cannot be changed.",
        "operationId": "locationsGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Locations"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/locations/{regionId}": {
      "get": {
        "tags": [
          "Locations"
        ],
        "summary": "Get Locations within a Region",
        "description": "Retrieves the available locations in a region specified by its ID. The 'regionId' consists of the two character identifier of the region (country), e.g., 'de'.",
        "operationId": "locationsFindByRegionId",
        "parameters": [
          {
            "name": "regionId",
            "in": "path",
            "description": "The unique ID of the region.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Locations"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/locations/{regionId}/{locationId}": {
      "get": {
        "tags": [
          "Locations"
        ],
        "summary": "Get Location by ID",
        "description": "Retrieves the information about the location specified by its ID. The 'locationId' consists of the three-digit identifier of the city according to the IATA code.",
        "operationId": "locationsFindByRegionIdAndId",
        "parameters": [
          {
            "name": "regionId",
            "in": "path",
            "description": "The unique ID of the region.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "path",
            "description": "The unique ID of the location.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Location"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers": {
      "get": {
        "tags": [
          "Servers"
        ],
        "summary": "List servers",
        "description": "List all servers within the data center.",
        "operationId": "datacentersServersGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Servers"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Servers"
        ],
        "summary": "Create a Server",
        "description": "Creates a server within the specified data center. You can also use this request to configure the boot volumes and connect to existing LANs at the same time.",
        "operationId": "datacentersServersPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The server to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Server"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Server"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "server"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}": {
      "get": {
        "tags": [
          "Servers"
        ],
        "summary": "Retrieve servers by ID",
        "description": "Retrieve information about the specified server within the data center, such as its configuration, provisioning status, and so on.",
        "operationId": "datacentersServersFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Server"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Servers"
        ],
        "summary": "Modify a Server by ID",
        "description": "Modifies the properties of the specified server within the data center.\n\nStarting with v5, the 'allowReboot' attribute is retired; while previously required for changing certain server properties, this behavior is now implicit, and the backend will perform this automatically. For example, in earlier versions, when the CPU family is changed, 'allowReboot' had to be set to 'true'; this is no longer required, the reboot will be performed automatically.",
        "operationId": "datacentersServersPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified server",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Server"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Server"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "server"
      },
      "delete": {
        "tags": [
          "Servers"
        ],
        "summary": "Delete servers",
        "description": "Delete the specified server in your data center. The attached storage volumes will also be removed if the query parameter is set to true otherwise a separate API call must be made for these actions.",
        "operationId": "datacentersServersDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "deleteVolumes",
            "in": "query",
            "description": "If true, all attached storage volumes will also be deleted.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Servers"
        ],
        "summary": "Partially modify servers",
        "description": "Update the properties of the specified server within the data center.",
        "operationId": "datacentersServersPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the server to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServerProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Server"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "server"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/volumes": {
      "get": {
        "tags": [
          "Servers"
        ],
        "summary": "Get Attached Volumes",
        "description": "Lists all volumes attached to the specified server.",
        "operationId": "datacentersServersVolumesGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachedVolumes"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Servers"
        ],
        "summary": "Attach a Volume to a Server",
        "description": "Attachs an existing storage volume to the specified server.\n\nYou can attach an existing volume in the VDC to a server. To move a volume from one server to another, you must first detach the volume from the first server and attach it to the second server.\n\nIt is also possible to create and attach a volume in one step by simply providing a new volume description as a payload. The only difference is the URL; see 'Creating a Volume' for details about volumes.\n\nNote that the combined total of attached volumes and NICs cannot exceed 24 per server.\n\nVolumes that use a Confidential Computing image cannot be attached or created through this endpoint. Such a volume can only be created as part of the server creation request, is permanently the boot device of that server, and cannot be attached to any other server afterwards.",
        "operationId": "datacentersServersVolumesPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The volume to be attached (or created and attached).",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumeId"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "volume"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}": {
      "get": {
        "tags": [
          "Servers"
        ],
        "summary": "Get Attached Volume by ID",
        "description": "Retrieves the properties of the volume attached to the specified server.",
        "operationId": "datacentersServersVolumesFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Servers"
        ],
        "summary": "Detach a Volume by ID",
        "description": "Detaches the specified volume from the server.\nNote that only the volume's connection to the specified server is disconnected. If you want to delete the volume, you must submit a separate request to perform the deletion.\nVolumes that use a Confidential Computing image cannot be detached. They are permanently bound to the server they were created with as its boot device; the volume is only removed together with the server.",
        "operationId": "datacentersServersVolumesDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/cdroms": {
      "get": {
        "tags": [
          "Servers"
        ],
        "summary": "Get Attached CD-ROMs",
        "description": "Lists all CD-ROMs attached to the specified server.",
        "operationId": "datacentersServersCdromsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cdroms"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Servers"
        ],
        "summary": "Attach a CD-ROM",
        "description": "Attachs a CD-ROM to an existing server specified by its ID. \n\nCD-ROMs cannot be created stand-alone like volumes. They are either attached to a server or do not exist. They always have an ISO-Image associated; empty CD-ROMs can not be provisioned. It is possible to attach up to two CD-ROMs to the same server. \n\nNote that attaching a CD-ROM leads to a reset of the server.\n\nAttaching a CD-ROM to a server with Confidential Computing enabled (i.e. when one of the attached volumes uses a Confidential Computing image) is not allowed.",
        "operationId": "datacentersServersCdromsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The CD-ROM to be attached.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Image"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "cdrom"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/cdroms/{cdromId}": {
      "get": {
        "tags": [
          "Servers"
        ],
        "summary": "Get Attached CD-ROM by ID",
        "description": "Retrieves the properties of the CD-ROM attached to the specified server.",
        "operationId": "datacentersServersCdromsFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cdromId",
            "in": "path",
            "description": "The unique ID of the CD-ROM.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Servers"
        ],
        "summary": "Detach a CD-ROM by ID",
        "description": "Detachs the specified CD-ROM from the server.\n\nDetaching a CD-ROM deletes the CD-ROM. The image will not be deleted.\n\nNote that detaching a CD-ROM leads to a reset of the server.",
        "operationId": "datacentersServersCdromsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cdromId",
            "in": "path",
            "description": "The unique ID of the CD-ROM.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/reboot": {
      "post": {
        "tags": [
          "Servers"
        ],
        "summary": "Reboot servers",
        "description": "Force a hard reboot of the specified server within the data center. Don't use this method if you wish to reboot gracefully. This is an equivalent of powering down a computer and turning it back on.",
        "operationId": "datacentersServersRebootPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/start": {
      "post": {
        "tags": [
          "Servers"
        ],
        "summary": "Start an Enterprise Server by ID",
        "description": "Starts the Enterprise Server specified by its ID.\n\n>Note that you cannot use this method to start a Cube Server.\n\nBy starting the Enterprise Server, cores and RAM are provisioned, and the billing continues.\n\nIf the server's public IPv4 address has been deallocated, a new IPv4 address will be assigned. IPv6 blocks and addresses will remain unchanged when stopping and starting a server.\n\nTo check the status of the request, you can use the 'Location' HTTP header in the response (see 'Requests' for more information).",
        "operationId": "datacentersServersStartPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/stop": {
      "post": {
        "tags": [
          "Servers"
        ],
        "summary": "Stop an Enterprise Server by ID",
        "description": "Stops the Enterprise Server specified by its ID. \n\n>Note that you cannot use this method to stop a Cube Server.\n\n By stopping the Enterprise Server, cores and RAM are freed and no longer charged.\n\nPublic IPv4 IPs that are not reserved are returned to the IPv4 pool. IPv6 blocks and addresses will remain unchanged when stopping and starting a server.\n\nTo check the status of the request, you can use the 'Location' HTTP header in the response (see 'Requests' for more information).",
        "operationId": "datacentersServersStopPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/suspend": {
      "post": {
        "tags": [
          "Servers"
        ],
        "summary": "Suspend a Cube Server by ID",
        "description": "Suspends the specified Cubes instance within the data center. \n\nThe instance is not deleted and allocated resources continue to be billed. You can perform this operation only for Cube Servers.\n\nTo check the status of the request, you can use the 'Location' HTTP header in the response (see 'Requests' for more information).",
        "operationId": "datacentersServersSuspendPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/resume": {
      "post": {
        "tags": [
          "Servers"
        ],
        "summary": "Resume a Cube Server by ID",
        "description": "Resumes a suspended Cube Server specified by its ID.\n\nSince the suspended instance was not deleted the allocated resources continue to be billed. You can perform this operation only for Cube Servers.\n\nTo check the status of the request, you can use the 'Location' HTTP header in the response (see 'Requests' for more information).",
        "operationId": "datacentersServersResumePost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/upgrade": {
      "post": {
        "tags": [
          "Servers"
        ],
        "summary": "Upgrade a Server by ID",
        "description": "Upgrades the server version.",
        "operationId": "datacentersServersUpgradePost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/token": {
      "get": {
        "tags": [
          "Servers"
        ],
        "summary": "Get JSON Web Token",
        "description": "Retrieve a JSON Web Token from the server for use in login operations (such as accessing the server's console).",
        "operationId": "datacentersServersTokenGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Token"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/remoteconsole": {
      "get": {
        "tags": [
          "Servers"
        ],
        "summary": "Get Remote Console link",
        "description": "Retrieve a link with a JSON Web Token for accessing the server's Remote Console.",
        "operationId": "datacentersServersRemoteConsoleGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemoteConsoleUrl"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity (validation error). One possible case is when the server is a Confidential Computing VM, for which remote console access is not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/images": {
      "get": {
        "tags": [
          "Images"
        ],
        "summary": "List images",
        "description": "List all the images in the current contract.",
        "operationId": "imagesGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Images"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/images/{imageId}": {
      "get": {
        "tags": [
          "Images"
        ],
        "summary": "Retrieve images",
        "description": "Retrieve the properties of the specified image.",
        "operationId": "imagesFindById",
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "description": "The unique ID of the image.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Images"
        ],
        "summary": "Modify an Image by ID",
        "description": "Modifies the properties of the specified image.",
        "operationId": "imagesPut",
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "description": "The unique ID of the image.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified image",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Image"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "image"
      },
      "delete": {
        "tags": [
          "Images"
        ],
        "summary": "Delete images",
        "description": "Delete the specified image; this operation is only supported for private images.",
        "operationId": "imagesDelete",
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "description": "The unique ID of the image.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Images"
        ],
        "summary": "Partially modify images",
        "description": "Update the properties of the specified image.",
        "operationId": "imagesPatch",
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "description": "The unique ID of the image.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The image properties to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImageProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "image"
      }
    },
    "/datacenters/{datacenterId}/volumes": {
      "get": {
        "tags": [
          "Volumes"
        ],
        "summary": "List volumes",
        "description": "List all the volumes within the data center.",
        "operationId": "datacentersVolumesGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volumes"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Volumes"
        ],
        "summary": "Create a Volume",
        "description": "Creates a storage volume within the specified data center. The volume will not be attached! Attaching volumes is described in the Servers section.\nVolumes with a Confidential Computing image cannot be created via this endpoint. Such a volume can only be created together with the server it belongs to, as part of the server creation request — it is permanently bound to that server as its boot device and cannot exist as a standalone volume.",
        "operationId": "datacentersVolumesPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The volume to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumePropertiesPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "volume"
      }
    },
    "/datacenters/{datacenterId}/volumes/{volumeId}": {
      "get": {
        "tags": [
          "Volumes"
        ],
        "summary": "Retrieve volumes",
        "description": "Retrieve the properties of the specified volume within the data center.",
        "operationId": "datacentersVolumesFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Volumes"
        ],
        "summary": "Modify a Volume by ID",
        "description": "Modifies the properties of the specified volume within the data center.",
        "operationId": "datacentersVolumesPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified volume",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumePropertiesPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "volume"
      },
      "delete": {
        "tags": [
          "Volumes"
        ],
        "summary": "Delete volumes",
        "description": "Delete the specified volume within the data center. Use with caution, the volume will be permanently removed!",
        "operationId": "datacentersVolumesDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Volumes"
        ],
        "summary": "Partially modify volumes",
        "description": "Update the properties of the specified storage volume within the data center.",
        "operationId": "datacentersVolumesPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the volume to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VolumeProperties"
                  },
                  {
                    "$ref": "#/components/schemas/ImageAlias"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "volume"
      }
    },
    "/datacenters/{datacenterId}/volumes/{volumeId}/restore-snapshot": {
      "post": {
        "tags": [
          "Volumes"
        ],
        "summary": "Restore volume snapshots",
        "description": "Restore a snapshot for the specified volume within the data center. A snapshot is an image of a volume, which can be used to restore this volume at a later time.",
        "operationId": "datacentersVolumesRestore-snapshotPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The payload used to restore a snapshot.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RestoreSnapshot"
              }
            }
          },
          "required": false
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "Restore snapshot"
      }
    },
    "/datacenters/{datacenterId}/volumes/{volumeId}/create-snapshot": {
      "post": {
        "tags": [
          "Volumes"
        ],
        "summary": "Create volume snapshots",
        "description": "Create a snapshot of the specified volume within the data center; this snapshot can later be used to restore this volume.",
        "operationId": "datacentersVolumesCreate-snapshotPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The payload of the snapshot.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSnapshot"
              }
            }
          },
          "required": false
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "Snapshot"
      }
    },
    "/snapshots": {
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "List snapshots",
        "description": "List all available snapshots.",
        "operationId": "snapshotsGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshots"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/snapshots/{snapshotId}": {
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Retrieve snapshots by ID",
        "description": "Retrieve the properties of the specified snapshot.",
        "operationId": "snapshotsFindById",
        "parameters": [
          {
            "name": "snapshotId",
            "in": "path",
            "description": "The unique ID of the snapshot.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Modify a Snapshot by ID",
        "description": "Modifies the properties of the specified snapshot.",
        "operationId": "snapshotsPut",
        "parameters": [
          {
            "name": "snapshotId",
            "in": "path",
            "description": "The unique ID of the snapshot.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified snapshot",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Snapshot"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "snapshot"
      },
      "delete": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Delete snapshots",
        "description": "Deletes the specified snapshot.",
        "operationId": "snapshotsDelete",
        "parameters": [
          {
            "name": "snapshotId",
            "in": "path",
            "description": "The unique ID of the snapshot.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Partially modify snapshots",
        "description": "Update the properties of the specified snapshot.",
        "operationId": "snapshotsPatch",
        "parameters": [
          {
            "name": "snapshotId",
            "in": "path",
            "description": "The unique ID of the snapshot.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the snapshot to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SnapshotProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "snapshot"
      }
    },
    "/ipblocks": {
      "get": {
        "tags": [
          "IP blocks"
        ],
        "summary": "List IP blocks",
        "description": "List all reserved IP blocks.",
        "operationId": "ipblocksGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 1000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IpBlocks"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "IP blocks"
        ],
        "summary": "Reserve a IP Block",
        "description": "Reserves a new IP block.",
        "operationId": "ipblocksPost",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The IP block to be reserved.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IpBlock"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IpBlock"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "ipblock"
      }
    },
    "/ipblocks/{ipblockId}": {
      "get": {
        "tags": [
          "IP blocks"
        ],
        "summary": "Retrieve IP blocks",
        "description": "Retrieve the properties of the specified IP block.",
        "operationId": "ipblocksFindById",
        "parameters": [
          {
            "name": "ipblockId",
            "in": "path",
            "description": "The unique ID of the IP block.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IpBlock"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "IP blocks"
        ],
        "summary": "Modify a IP Block by ID",
        "description": "Modifies the properties of the specified IP block.",
        "operationId": "ipblocksPut",
        "parameters": [
          {
            "name": "ipblockId",
            "in": "path",
            "description": "The unique ID of the IP block.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified IP block.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IpBlock"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IpBlock"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "ipblock"
      },
      "delete": {
        "tags": [
          "IP blocks"
        ],
        "summary": "Delete IP blocks",
        "description": "Remove the specified IP block.",
        "operationId": "ipblocksDelete",
        "parameters": [
          {
            "name": "ipblockId",
            "in": "path",
            "description": "The unique ID of the IP block.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "IP blocks"
        ],
        "summary": "Partially modify IP blocks",
        "description": "Update the properties of the specified IP block.",
        "operationId": "ipblocksPatch",
        "parameters": [
          {
            "name": "ipblockId",
            "in": "path",
            "description": "The unique ID of the IP block.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the IP block to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IpBlockProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IpBlock"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "ipblock"
      }
    },
    "/datacenters/{datacenterId}/lans": {
      "get": {
        "tags": [
          "LANs"
        ],
        "summary": "List LANs",
        "description": "List all LANs within the data center.",
        "operationId": "datacentersLansGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lans"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "LANs"
        ],
        "summary": "Create LANs",
        "description": "Creates a LAN within the data center.",
        "operationId": "datacentersLansPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The LAN to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Lan"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lan"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "lan"
      }
    },
    "/datacenters/{datacenterId}/lans/{lanId}": {
      "get": {
        "tags": [
          "LANs"
        ],
        "summary": "Retrieve LANs",
        "description": "Retrieve the properties of the specified LAN within the data center.",
        "operationId": "datacentersLansFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lanId",
            "in": "path",
            "description": "The unique ID of the LAN.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lan"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "LANs"
        ],
        "summary": "Modify LANs",
        "description": "Modify the properties of the specified LAN within the data center.",
        "operationId": "datacentersLansPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lanId",
            "in": "path",
            "description": "The unique ID of the LAN.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified LAN",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Lan"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lan"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "lan"
      },
      "delete": {
        "tags": [
          "LANs"
        ],
        "summary": "Delete LANs",
        "description": "Delete the specified LAN within the data center.",
        "operationId": "datacentersLansDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lanId",
            "in": "path",
            "description": "The unique ID of the LAN.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "LANs"
        ],
        "summary": "Partially modify LANs",
        "description": "Update the properties of the specified LAN within the data center.",
        "operationId": "datacentersLansPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lanId",
            "in": "path",
            "description": "The unique ID of the LAN.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the LAN to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LanProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lan"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "lan"
      }
    },
    "/datacenters/{datacenterId}/lans/{lanId}/nics": {
      "get": {
        "tags": [
          "LANs"
        ],
        "summary": "List LAN members",
        "description": "List all NICs, attached to the specified LAN.",
        "operationId": "datacentersLansNicsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lanId",
            "in": "path",
            "description": "The unique ID of the LAN.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LanNics"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "LANs"
        ],
        "summary": "Attach NICs",
        "description": "Attach an existing NIC to the specified LAN.",
        "operationId": "datacentersLansNicsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lanId",
            "in": "path",
            "description": "The unique ID of the LAN.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The NIC to be attached.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Nic"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nic"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "nic"
      }
    },
    "/datacenters/{datacenterId}/lans/{lanId}/nics/{nicId}": {
      "get": {
        "tags": [
          "LANs"
        ],
        "summary": "Retrieve attached NICs",
        "description": "Retrieve the properties of the NIC, attached to the specified LAN.",
        "operationId": "datacentersLansNicsFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lanId",
            "in": "path",
            "description": "The unique ID of the LAN.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nic"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/nics": {
      "get": {
        "tags": [
          "Network interfaces"
        ],
        "summary": "List NICs",
        "description": "List all NICs, attached to the specified server.",
        "operationId": "datacentersServersNicsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nics"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Network interfaces"
        ],
        "summary": "Create a NIC",
        "description": "Adds a NIC to the specified server. The combined total of NICs and attached volumes cannot exceed 24 per server.",
        "operationId": "datacentersServersNicsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The NIC to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Nic"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nic"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "nic"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}": {
      "get": {
        "tags": [
          "Network interfaces"
        ],
        "summary": "Retrieve NICs",
        "description": "Retrieve the properties of the specified NIC.",
        "operationId": "datacentersServersNicsFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nic"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Network interfaces"
        ],
        "summary": "Modify NICs",
        "description": "Modify the properties of the specified NIC.",
        "operationId": "datacentersServersNicsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified NIC",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NicPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nic"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "nic"
      },
      "delete": {
        "tags": [
          "Network interfaces"
        ],
        "summary": "Delete NICs",
        "description": "Remove the specified NIC.",
        "operationId": "datacentersServersNicsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Network interfaces"
        ],
        "summary": "Partially modify NICs",
        "description": "Update the properties of the specified NIC.",
        "operationId": "datacentersServersNicsPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the NIC to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NicProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nic"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "nic"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules": {
      "get": {
        "tags": [
          "Firewall rules"
        ],
        "summary": "List firewall rules",
        "description": "List all firewall rules for the specified NIC.",
        "operationId": "datacentersServersNicsFirewallrulesGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRules"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Firewall rules"
        ],
        "summary": "Create a Firewall Rule",
        "description": "Creates a firewall rule for the specified NIC.",
        "operationId": "datacentersServersNicsFirewallrulesPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The firewall rule to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FirewallRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "firewallrule"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/firewallrules/{firewallruleId}": {
      "get": {
        "tags": [
          "Firewall rules"
        ],
        "summary": "Retrieve firewall rules",
        "description": "Retrieve the properties of the specified firewall rule.",
        "operationId": "datacentersServersNicsFirewallrulesFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "firewallruleId",
            "in": "path",
            "description": "The unique ID of the firewall rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Firewall rules"
        ],
        "summary": "Modify a Firewall Rule",
        "description": "Modifies the properties of the specified firewall rule.",
        "operationId": "datacentersServersNicsFirewallrulesPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "firewallruleId",
            "in": "path",
            "description": "The unique ID of the firewall rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified firewall rule.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FirewallRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "firewallrule"
      },
      "delete": {
        "tags": [
          "Firewall rules"
        ],
        "summary": "Delete firewall rules",
        "description": "Delete the specified firewall rule.",
        "operationId": "datacentersServersNicsFirewallrulesDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "firewallruleId",
            "in": "path",
            "description": "The unique ID of the firewall rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Firewall rules"
        ],
        "summary": "Partially modify firewall rules",
        "description": "Update the properties of the specified firewall rule.",
        "operationId": "datacentersServersNicsFirewallrulesPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "firewallruleId",
            "in": "path",
            "description": "The unique ID of the firewall rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the firewall rule to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FirewallruleProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "firewallrule"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs": {
      "get": {
        "tags": [
          "Flow Logs"
        ],
        "summary": "List Flow Logs",
        "description": "List all the Flow Logs for the specified NIC.",
        "operationId": "datacentersServersNicsFlowlogsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLogs"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Flow Logs"
        ],
        "summary": "Create a Flow Log",
        "description": "Adds a new Flow Log for the specified NIC.",
        "operationId": "datacentersServersNicsFlowlogsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The Flow Log to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowLog"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "flowlog"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/flowlogs/{flowlogId}": {
      "get": {
        "tags": [
          "Flow Logs"
        ],
        "summary": "Retrieve Flow Logs",
        "description": "Retrieve the properties of the specified Flow Log.",
        "operationId": "datacentersServersNicsFlowlogsFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowlogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Flow Logs"
        ],
        "summary": "Modify Flow Logs",
        "description": "Modify the specified Flow Log record.",
        "operationId": "datacentersServersNicsFlowlogsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowlogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The modified Flow Log.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowLogPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "flowlog"
      },
      "delete": {
        "tags": [
          "Flow Logs"
        ],
        "summary": "Delete Flow Logs",
        "description": "Delete the specified Flow Log.",
        "operationId": "datacentersServersNicsFlowlogsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowlogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Flow Logs"
        ],
        "summary": "Partially modify Flow Logs",
        "description": "Update the specified Flow Log record.",
        "operationId": "datacentersServersNicsFlowlogsPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowlogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The Flow Log record to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowLogProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "flowlog"
      }
    },
    "/datacenters/{datacenterId}/loadbalancers": {
      "get": {
        "tags": [
          "Load Balancers"
        ],
        "summary": "List Load Balancers",
        "description": "List all the Load Balancers within the data center.",
        "operationId": "datacentersLoadbalancersGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Loadbalancers"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Load Balancers"
        ],
        "summary": "Create a Load Balancer",
        "description": "Creates a Load Balancer within the data center.",
        "operationId": "datacentersLoadbalancersPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The Load Balancer to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Loadbalancer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Loadbalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "loadbalancer"
      }
    },
    "/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}": {
      "get": {
        "tags": [
          "Load Balancers"
        ],
        "summary": "Retrieve Load Balancers",
        "description": "Retrieve the properties of the specified Load Balancer within the data center.",
        "operationId": "datacentersLoadbalancersFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loadbalancerId",
            "in": "path",
            "description": "The unique ID of the Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Loadbalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Load Balancers"
        ],
        "summary": "Modify a Load Balancer by ID",
        "description": "Modifies the properties of the specified Load Balancer within the data center.",
        "operationId": "datacentersLoadbalancersPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loadbalancerId",
            "in": "path",
            "description": "The unique ID of the Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified Load Balancer.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Loadbalancer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Loadbalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "loadbalancer"
      },
      "delete": {
        "tags": [
          "Load Balancers"
        ],
        "summary": "Delete Load Balancers",
        "description": "Remove the specified Load Balancer from the data center.",
        "operationId": "datacentersLoadbalancersDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loadbalancerId",
            "in": "path",
            "description": "The unique ID of the Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Load Balancers"
        ],
        "summary": "Partially modify Load Balancers",
        "description": "Update the properties of the specified Load Balancer within the data center.",
        "operationId": "datacentersLoadbalancersPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loadbalancerId",
            "in": "path",
            "description": "The unique ID of the Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the Load Balancer to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoadbalancerProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Loadbalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "loadbalancer"
      }
    },
    "/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics": {
      "get": {
        "tags": [
          "Load Balancers"
        ],
        "summary": "List balanced NICs",
        "description": "List all NICs, attached to the specified Load Balancer.",
        "operationId": "datacentersLoadbalancersBalancednicsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loadbalancerId",
            "in": "path",
            "description": "The unique ID of the Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalancedNics"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Load Balancers"
        ],
        "summary": "Attach balanced NICs",
        "description": "Attachs an existing NIC to the specified Load Balancer.",
        "operationId": "datacentersLoadbalancersBalancednicsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loadbalancerId",
            "in": "path",
            "description": "The unique ID of the Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The NIC to be attached.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Nic"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nic"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "nic"
      }
    },
    "/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics/{nicId}": {
      "get": {
        "tags": [
          "Load Balancers"
        ],
        "summary": "Retrieve balanced NICs",
        "description": "Retrieve the properties of the specified NIC, attached to the Load Balancer.",
        "operationId": "datacentersLoadbalancersBalancednicsFindByNicId",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loadbalancerId",
            "in": "path",
            "description": "The unique ID of the Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nic"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Load Balancers"
        ],
        "summary": "Detach balanced NICs",
        "description": "Detach the specified NIC from the Load Balancer.",
        "operationId": "datacentersLoadbalancersBalancednicsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loadbalancerId",
            "in": "path",
            "description": "The unique ID of the Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the NIC.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/natgateways": {
      "get": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "List NAT Gateways",
        "description": "List all NAT Gateways within the data center.",
        "operationId": "datacentersNatgatewaysGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGateways"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Create a NAT Gateway",
        "description": "Creates a NAT Gateway within the data center.\n\nThis operation is restricted to contract owner, admin, and users with 'createInternetAccess' privileges.",
        "operationId": "datacentersNatgatewaysPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The NAT Gateway to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NatGateway"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGateway"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "natGateway"
      }
    },
    "/datacenters/{datacenterId}/natgateways/{natGatewayId}": {
      "get": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Retrieve NAT Gateways",
        "description": "Retrieve the properties of the specified NAT Gateway within the data center.",
        "operationId": "datacentersNatgatewaysFindByNatGatewayId",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGateway"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Modify NAT Gateways",
        "description": "Modify the properties of the specified NAT Gateway within the data center.",
        "operationId": "datacentersNatgatewaysPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified NAT Gateway.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NatGatewayPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGateway"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "natGateway"
      },
      "delete": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Delete NAT Gateways",
        "description": "Remove the specified NAT Gateway from the data center.",
        "operationId": "datacentersNatgatewaysDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Partially modify NAT Gateways",
        "description": "Update the properties of the specified NAT Gateway within the data center.",
        "operationId": "datacentersNatgatewaysPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the NAT Gateway to be updated.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/NatGatewayProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGateway"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "natGatewayProperties"
      }
    },
    "/datacenters/{datacenterId}/natgateways/{natGatewayId}/rules": {
      "get": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "List NAT Gateway rules",
        "description": "List all rules for the specified NAT Gateway.",
        "operationId": "datacentersNatgatewaysRulesGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGatewayRules"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Create a NAT Gateway Rule",
        "description": "Creates a rule for the specified NAT Gateway.",
        "operationId": "datacentersNatgatewaysRulesPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The NAT Gateway rule to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NatGatewayRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGatewayRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "natGatewayRule"
      }
    },
    "/datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}": {
      "get": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Retrieve NAT Gateway rules",
        "description": "Retrieve the properties of the specified NAT Gateway rule.",
        "operationId": "datacentersNatgatewaysRulesFindByNatGatewayRuleId",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayRuleId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGatewayRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Modify a NAT Gateway Rule by ID",
        "description": "Modify the specified NAT Gateway rule.",
        "operationId": "datacentersNatgatewaysRulesPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayRuleId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified NAT Gateway rule.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NatGatewayRulePut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGatewayRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "natGatewayRule"
      },
      "delete": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Delete NAT Gateway rules",
        "description": "Delete the specified NAT Gateway rule.",
        "operationId": "datacentersNatgatewaysRulesDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayRuleId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Partially Modify a NAT Gateway Rule by ID",
        "description": "Updates the properties of the specified NAT Gateway rule.",
        "operationId": "datacentersNatgatewaysRulesPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayRuleId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the NAT Gateway rule to be updated.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/NatGatewayRuleProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGatewayRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "natGatewayRuleProperties"
      }
    },
    "/datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs": {
      "get": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "List NAT Gateway Flow Logs",
        "description": "List all the Flow Logs for the specified NAT Gateway.",
        "operationId": "datacentersNatgatewaysFlowlogsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLogs"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Create a NAT Gateway Flow Log",
        "description": "Adds a new Flow Log to the specified NAT Gateway.",
        "operationId": "datacentersNatgatewaysFlowlogsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The Flow Log to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowLog"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "natGatewayFlowLog"
      }
    },
    "/datacenters/{datacenterId}/natgateways/{natGatewayId}/flowlogs/{flowLogId}": {
      "get": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Retrieve NAT Gateway Flow Logs",
        "description": "Retrieve the specified NAT Gateway Flow Log.",
        "operationId": "datacentersNatgatewaysFlowlogsFindByFlowLogId",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Modify NAT Gateway Flow Logs",
        "description": "Modify the specified NAT Gateway Flow Log.",
        "operationId": "datacentersNatgatewaysFlowlogsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The modified NAT Gateway Flow Log.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowLogPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "natGatewayFlowLog"
      },
      "delete": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Delete NAT Gateway Flow Logs",
        "description": "Delete the specified NAT Gateway Flow Log.",
        "operationId": "datacentersNatgatewaysFlowlogsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "NAT Gateways"
        ],
        "summary": "Partially modify NAT Gateway Flow Logs",
        "description": "Update the properties of the specified NAT Gateway Flow Log.",
        "operationId": "datacentersNatgatewaysFlowlogsPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayId",
            "in": "path",
            "description": "The unique ID of the NAT Gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the Flow Log to be updated.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/FlowLogProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "natGatewayFlowLogProperties"
      }
    },
    "/datacenters/{datacenterId}/networkloadbalancers": {
      "get": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "List Network Load Balancers",
        "description": "List all the Network Load Balancers within the data center.",
        "operationId": "datacentersNetworkloadbalancersGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkLoadBalancers"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Create a Network Load Balancer",
        "description": "Creates a Network Load Balancer within the data center.",
        "operationId": "datacentersNetworkloadbalancersPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The Network Load Balancer to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NetworkLoadBalancer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkLoadBalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "networkLoadBalancer"
      }
    },
    "/datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}": {
      "get": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Retrieve Network Load Balancers",
        "description": "Retrieve the properties of the specified Network Load Balancer within the data center.",
        "operationId": "datacentersNetworkloadbalancersFindByNetworkLoadBalancerId",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkLoadBalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Modify Network Load Balancers",
        "description": "Modify the properties of the specified Network Load Balancer within the data center.",
        "operationId": "datacentersNetworkloadbalancersPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified Network Load Balancer.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NetworkLoadBalancerPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkLoadBalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "networkLoadBalancer"
      },
      "delete": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Delete Network Load Balancers",
        "description": "Remove the specified Network Load Balancer from the data center.",
        "operationId": "datacentersNetworkloadbalancersDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Partially modify Network Load Balancers",
        "description": "Update the properties of the specified Network Load Balancer within the data center.",
        "operationId": "datacentersNetworkloadbalancersPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the Network Load Balancer to be updated.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/NetworkLoadBalancerProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkLoadBalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "networkLoadBalancerProperties"
      }
    },
    "/datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/flowlogs": {
      "get": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "List NLB Flow Logs",
        "description": "List all the Flow Logs for the specified Network Load Balancer.",
        "operationId": "datacentersNetworkloadbalancersFlowlogsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLogs"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Create a NLB Flow Log",
        "description": "Adds a new Flow Log for the Network Load Balancer.",
        "operationId": "datacentersNetworkloadbalancersFlowlogsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The Flow Log to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowLog"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "networkLoadBalancerFlowLog"
      }
    },
    "/datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/flowlogs/{flowLogId}": {
      "get": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Retrieve NLB Flow Logs",
        "description": "Retrieve the specified Network Load Balancer Flow Log.",
        "operationId": "datacentersNetworkloadbalancersFlowlogsFindByFlowLogId",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Modify NLB Flow Logs",
        "description": "Modify the specified Network Load Balancer Flow Log.",
        "operationId": "datacentersNetworkloadbalancersFlowlogsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified NLB Flow Log.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowLogPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "networkLoadBalancerFlowLog"
      },
      "delete": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Delete NLB Flow Logs",
        "description": "Delete the specified Network Load Balancer Flow Log.",
        "operationId": "datacentersNetworkloadbalancersFlowlogsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Partially modify NLB Flow Logs",
        "description": "Update the properties of the specified Network Load Balancer Flow Log.",
        "operationId": "datacentersNetworkloadbalancersFlowlogsPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the Flow Log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the Flow Log to be updated.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/FlowLogProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "networkLoadBalancerFlowLogProperties"
      }
    },
    "/datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/forwardingrules": {
      "get": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "List NLB forwarding rules",
        "description": "List the forwarding rules for the specified Network Load Balancer.",
        "operationId": "datacentersNetworkloadbalancersForwardingrulesGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRules"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Create a NLB Forwarding Rule",
        "description": "Creates a forwarding rule for the specified Network Load Balancer.",
        "operationId": "datacentersNetworkloadbalancersForwardingrulesPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The forwarding rule to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "networkLoadBalancerForwardingRule"
      }
    },
    "/datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}/forwardingrules/{forwardingRuleId}": {
      "get": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Retrieve NLB forwarding rules",
        "description": "Retrieve the specified Network Load Balance forwarding rule.",
        "operationId": "datacentersNetworkloadbalancersForwardingrulesFindByForwardingRuleId",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forwardingRuleId",
            "in": "path",
            "description": "The unique ID of the forwarding rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Modify NLB forwarding rules",
        "description": "Modify the specified Network Load Balancer forwarding rule.",
        "operationId": "datacentersNetworkloadbalancersForwardingrulesPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forwardingRuleId",
            "in": "path",
            "description": "The unique ID of the forwarding rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified NLB forwarding rule.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRulePut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "networkLoadBalancerForwardingRule"
      },
      "delete": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Delete NLB forwarding rules",
        "description": "Delete the specified Network Load Balancer forwarding rule.",
        "operationId": "datacentersNetworkloadbalancersForwardingrulesDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forwardingRuleId",
            "in": "path",
            "description": "The unique ID of the forwarding rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Network Load Balancers"
        ],
        "summary": "Partially modify NLB forwarding rules",
        "description": "Update the properties of the specified Network Load Balancer forwarding rule.",
        "operationId": "datacentersNetworkloadbalancersForwardingrulesPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "networkLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Network Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forwardingRuleId",
            "in": "path",
            "description": "The unique ID of the forwarding rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the forwarding rule to be updated.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRuleProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "networkLoadBalancerForwardingRuleProperties"
      }
    },
    "/datacenters/{datacenterId}/applicationloadbalancers": {
      "get": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Get Application Load Balancers",
        "description": "Lists all Application Load Balancers within a data center.",
        "operationId": "datacentersApplicationloadbalancersGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationLoadBalancers"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Create an Application Load Balancer",
        "description": "Creates an Application Load Balancer within the data center.",
        "operationId": "datacentersApplicationloadbalancersPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The Application Load Balancer to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationLoadBalancer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationLoadBalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "applicationLoadBalancer"
      }
    },
    "/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}": {
      "get": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Get an Application Load Balancer by ID",
        "description": "Retrieves the properties of the specified Application Load Balancer within the data center.",
        "operationId": "datacentersApplicationloadbalancersFindByApplicationLoadBalancerId",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationLoadBalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Modify an Application Load Balancer by ID",
        "description": "Modifies the properties of the specified Application Load Balancer within the data center.",
        "operationId": "datacentersApplicationloadbalancersPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified Application Load Balancer.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationLoadBalancerPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationLoadBalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "applicationLoadBalancer"
      },
      "delete": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Delete an Application Load Balancer by ID",
        "description": "Removes the specified Application Load Balancer from the data center.",
        "operationId": "datacentersApplicationloadbalancersDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Partially Modify an Application Load Balancer by ID",
        "description": "Updates the properties of the specified Application Load Balancer within the data center.",
        "operationId": "datacentersApplicationloadbalancersPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The Application Load Balancer properties to be updated.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationLoadBalancerProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationLoadBalancer"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "applicationLoadBalancerProperties"
      }
    },
    "/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules": {
      "get": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Get ALB Forwarding Rules",
        "description": "Lists the forwarding rules of the specified Application Load Balancer.",
        "operationId": "datacentersApplicationloadbalancersForwardingrulesGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRules"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Create an ALB Forwarding Rule",
        "description": "Creates a forwarding rule for the specified Application Load Balancer.",
        "operationId": "datacentersApplicationloadbalancersForwardingrulesPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The forwarding rule to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "applicationLoadBalancerForwardingRule"
      }
    },
    "/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules/{forwardingRuleId}": {
      "get": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Get an ALB Forwarding Rule by ID",
        "description": "Retrieves the Application Load Balancer forwarding rule specified by its ID.",
        "operationId": "datacentersApplicationloadbalancersForwardingrulesFindByForwardingRuleId",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forwardingRuleId",
            "in": "path",
            "description": "The unique ID of the forwarding rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Modify an ALB Forwarding Rule by ID",
        "description": "Modifies the Application Load Balancer forwarding rule specified by its ID.",
        "operationId": "datacentersApplicationloadbalancersForwardingrulesPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forwardingRuleId",
            "in": "path",
            "description": "The unique ID of the forwarding rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified ALB forwarding rule.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRulePut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "applicationLoadBalancerForwardingRule"
      },
      "delete": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Delete an ALB Forwarding Rule by ID",
        "description": "Deletes the Application Load Balancer forwarding rule specified by its ID.",
        "operationId": "datacentersApplicationloadbalancersForwardingrulesDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forwardingRuleId",
            "in": "path",
            "description": "The unique ID of the forwarding rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Partially modify an ALB Forwarding Rule by ID",
        "description": "Updates the properties of the Application Load Balancer forwarding rule specified by its ID.",
        "operationId": "datacentersApplicationloadbalancersForwardingrulesPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forwardingRuleId",
            "in": "path",
            "description": "The unique ID of the forwarding rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the forwarding rule to be updated.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRuleProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "applicationLoadBalancerForwardingRuleProperties"
      }
    },
    "/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs": {
      "get": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Get ALB Flow Logs",
        "description": "Retrieves the flow logs for the specified Application Load Balancer.",
        "operationId": "datacentersApplicationloadbalancersFlowlogsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLogs"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Create an ALB Flow Log",
        "description": "Creates a flow log for the Application Load Balancer specified by ID.",
        "operationId": "datacentersApplicationloadbalancersFlowlogsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The flow log to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowLog"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "applicationLoadBalancerFlowLog"
      }
    },
    "/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs/{flowLogId}": {
      "get": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Get an ALB Flow Log by ID",
        "description": "Retrieves the Application Load Balancer flow log specified by its ID.",
        "operationId": "datacentersApplicationloadbalancersFlowlogsFindByFlowLogId",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the flow log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Modify an ALB Flow Log by ID",
        "description": "Modifies the Application Load Balancer flow log specified by its ID.",
        "operationId": "datacentersApplicationloadbalancersFlowlogsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the flow log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified ALB flow log.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowLogPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "applicationLoadBalancerFlowLog"
      },
      "delete": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Delete an ALB Flow Log by ID",
        "description": "Deletes the Application Load Balancer flow log specified by its ID.",
        "operationId": "datacentersApplicationloadbalancersFlowlogsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the flow log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Application Load Balancers"
        ],
        "summary": "Partially Modify an ALB Flow Log by ID",
        "description": "Updates the properties of the Application Load Balancer flow log specified by its ID.",
        "operationId": "datacentersApplicationloadbalancersFlowlogsPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationLoadBalancerId",
            "in": "path",
            "description": "The unique ID of the Application Load Balancer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flowLogId",
            "in": "path",
            "description": "The unique ID of the flow log.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the ALB flow log to be updated.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/FlowLogProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlowLog"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "applicationLoadBalancerFlowLogProperties"
      }
    },
    "/targetgroups": {
      "get": {
        "tags": [
          "Target groups"
        ],
        "summary": "Get Target Groups",
        "description": "Lists target groups.\n\nA target group is a set of one or more registered targets. You must specify an IP address, a port number, and a weight for each target. Any object with an IP address in your VDC can be a target, for example, a VM, another load balancer, etc. You can register a target with multiple target groups.",
        "operationId": "targetgroupsGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (used together with <b><i>offset</i></b> for pagination). It must not exceed <b><i>200</i></b>.",
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TargetGroups"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Target groups"
        ],
        "summary": "Create a Target Group",
        "description": "Creates a target group.",
        "operationId": "targetgroupsPost",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The target group to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TargetGroup"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TargetGroup"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "targetGroup"
      }
    },
    "/targetgroups/{targetGroupId}": {
      "get": {
        "tags": [
          "Target groups"
        ],
        "summary": "Get a Target Group by ID",
        "description": "Retrieves the properties of the target group specified by its ID.",
        "operationId": "targetgroupsFindByTargetGroupId",
        "parameters": [
          {
            "name": "targetGroupId",
            "in": "path",
            "description": "The unique ID of the target group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TargetGroup"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Target groups"
        ],
        "summary": "Modify a Target Group by ID",
        "description": "Modifies the properties of the target group specified by its ID.",
        "operationId": "targetgroupsPut",
        "parameters": [
          {
            "name": "targetGroupId",
            "in": "path",
            "description": "The unique ID of the target group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified target group.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TargetGroupPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TargetGroup"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "targetGroup"
      },
      "delete": {
        "tags": [
          "Target groups"
        ],
        "summary": "Delete a Target Group by ID",
        "description": "Deletes the target group specified by its ID.",
        "operationId": "targetGroupsDelete",
        "parameters": [
          {
            "name": "targetGroupId",
            "in": "path",
            "description": "The unique ID of the target group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "The callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Target groups"
        ],
        "summary": "Partially Modify a Target Group by ID",
        "description": "Updates the properties of the target group specified by its ID.",
        "operationId": "targetgroupsPatch",
        "parameters": [
          {
            "name": "targetGroupId",
            "in": "path",
            "description": "The unique ID of the target group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The target group properties to be updated.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/TargetGroupProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TargetGroup"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "targetGroupProperties"
      }
    },
    "/requests/{requestId}": {
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Retrieve requests",
        "description": "Retrieve the properties of the specified request.",
        "operationId": "requestsFindById",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "The unique ID of the request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Request"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/requests": {
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "List requests",
        "description": "List all API requests made by the current user.",
        "operationId": "requestsGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.status",
            "in": "query",
            "description": "Filter the list by request status [QUEUED, RUNNING, DONE, FAILED]. Filter is not affected by the depth query parameter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.createdAfter",
            "in": "query",
            "description": "Filter the list to only include the requests created after the date, specified in the yyyy-MM-dd HH:mm:ss format. Filter is not affected by the depth query parameter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.createdBefore",
            "in": "query",
            "description": "Filter the list to only include the requests created before the date, specified in the yyyy-MM-dd HH:mm:ss format. Filter is not affected by the depth query parameter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.createdDate",
            "in": "query",
            "description": "Filter the list to only include the requests that contain the createdDate, specified in the yyyy-MM-dd HH:mm:ss format. The value is not case-sensitive, and the filter requires that the depth query parameter value is greater than zero.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.etag",
            "in": "query",
            "description": "Filter the list to only include the requests that contain the specified etag. The value is not case-sensitive, and the filter requires that the depth query parameter value is greater than zero.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.requestStatus",
            "in": "query",
            "description": "Filter the list to only include the requests that contain the specified requestStatus. The value is not case-sensitive, and the filter requires that the depth query parameter value is greater than zero.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.method",
            "in": "query",
            "description": "Filter the list to only include the requests that contain the specified method. The value is not case-sensitive, and the filter requires that the depth query parameter value is greater than zero.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.headers",
            "in": "query",
            "description": "Filter the list to only include the requests that contain the specified headers. The value is not case-sensitive, and the filter requires that the depth query parameter value is greater than zero.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.body",
            "in": "query",
            "description": "Filter the list to only include the requests that contain the specified body. The value is not case-sensitive, and the filter requires that the depth query parameter value is greater than zero.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.url",
            "in": "query",
            "description": "Filter the list to only include the requests that contain the specified URL. The value is not case-sensitive, and the filter requires that the depth query parameter value is greater than zero.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Requests"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/requests/{requestId}/status": {
      "get": {
        "tags": [
          "Requests"
        ],
        "summary": "Retrieve request status",
        "description": "Retrieve the status of the specified request.",
        "operationId": "requestsStatusGet",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "The unique ID of the request.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestStatus"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/contracts": {
      "get": {
        "tags": [
          "Contract resources"
        ],
        "summary": "Get Contract Information",
        "description": "Retrieves the properties of the user's contract. This operation allows you to obtain the resource limits and the general contract information.",
        "operationId": "contractsGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contracts"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/users": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "List all users",
        "description": "List all the users in your account.",
        "operationId": "umUsersGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with <code>offset</code> for pagination).",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Users"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "User management"
        ],
        "summary": "Create users",
        "description": "Create a user.",
        "operationId": "umUsersPost",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The user to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "user"
      }
    },
    "/um/users/{userId}": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "Retrieve users",
        "description": "Retrieve user properties by user ID. The user ID is in the response body when the user is created, and in the list of the users, returned by GET.",
        "operationId": "umUsersFindById",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "User management"
        ],
        "summary": "Modify users",
        "description": "Modify the properties of the specified user.",
        "operationId": "umUsersPut",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified user",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "user"
      },
      "delete": {
        "tags": [
          "User management"
        ],
        "summary": "Delete users",
        "description": "Delete the specified user.",
        "operationId": "umUsersDelete",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/users/{userId}/groups": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "Retrieve group resources by user ID",
        "description": "Retrieve group resources of the user by user ID. The user ID is in the response body when the user is created, and in the list of the users, returned by GET.",
        "operationId": "umUsersGroupsGet",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceGroups"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/users/{userId}/owns": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "Retrieve user resources by user ID",
        "description": "Retrieve own resources of the user by user ID. The user ID is in the response body when the user is created, and in the list of the users, returned by GET.",
        "operationId": "umUsersOwnsGet",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourcesUsers"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/groups": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "List all groups",
        "description": "List all the available user groups.",
        "operationId": "umGroupsGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Groups"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "User management"
        ],
        "summary": "Create groups",
        "description": "Create a group.",
        "operationId": "umGroupsPost",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The group to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Group"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "group"
      }
    },
    "/um/groups/{groupId}": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "Retrieve groups",
        "description": "Retrieve a group by the group ID. This value is in the response body when the group is created, and in the list of the groups, returned by GET.",
        "operationId": "umGroupsFindById",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "User management"
        ],
        "summary": "Modify groups",
        "description": "Modify the properties of the specified group.",
        "operationId": "umGroupsPut",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified group.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Group"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "group"
      },
      "delete": {
        "tags": [
          "User management"
        ],
        "summary": "Delete groups",
        "description": "Remove the specified group.",
        "operationId": "umGroupsDelete",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/groups/{groupId}/resources": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "Retrieve group resources",
        "description": "List the resources assigned to the group, by group ID.",
        "operationId": "umGroupsResourcesGet",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceGroups"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/groups/{groupId}/users": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "List group members",
        "description": "List all members of the specified user group.",
        "operationId": "umGroupsUsersGet",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupMembers"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "User management"
        ],
        "summary": "Add a Group Member",
        "description": "Adds an existing user to the specified group.",
        "operationId": "umGroupsUsersPost",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The user to add.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserGroupPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "user"
      }
    },
    "/um/groups/{groupId}/users/{userId}": {
      "delete": {
        "tags": [
          "User management"
        ],
        "summary": "Remove users from groups",
        "description": "Remove the specified user from the group.",
        "operationId": "umGroupsUsersDelete",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/groups/{groupId}/shares/{resourceId}": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "Retrieve group shares",
        "description": "Retrieve the properties of the specified group share.",
        "operationId": "umGroupsSharesFindByResourceId",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceId",
            "in": "path",
            "description": "The unique ID of the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupShare"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "User management"
        ],
        "summary": "Modify group share privileges",
        "description": "Modify share permissions for the specified group. With an empty body, no updates are performed, and the current share permissions for the group are returned with response code 200.",
        "operationId": "umGroupsSharesPut",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceId",
            "in": "path",
            "description": "The unique ID of the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified resource",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupShare"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupShare"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "resource"
      },
      "post": {
        "tags": [
          "User management"
        ],
        "summary": "Add group shares",
        "description": "Add the specified share to the group.",
        "operationId": "umGroupsSharesPost",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceId",
            "in": "path",
            "description": "The unique ID of the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The resource to add.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/GroupShare"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupShare"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "resource"
      },
      "delete": {
        "tags": [
          "User management"
        ],
        "summary": "Remove group shares",
        "description": "Remove the specified share from the group.",
        "operationId": "umGroupsSharesDelete",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceId",
            "in": "path",
            "description": "The unique ID of the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/groups/{groupId}/shares": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "List group shares",
        "description": "List all shares and share privileges for the specified group.",
        "operationId": "umGroupsSharesGet",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The unique ID of the group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupShares"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/resources": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "List all resources",
        "description": "List all the available resources.",
        "operationId": "umResourcesGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Resources"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/resources/{resourceType}": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "List resources by type",
        "description": "List all resources of the specified type.\n\nResource types are: {datacenter, snapshot, image, ipblock, pcc, backupunit, k8s}\n\nResource types are in the list of resources, returned by GET.",
        "operationId": "umResourcesFindByType",
        "parameters": [
          {
            "name": "resourceType",
            "in": "path",
            "description": "The resource type",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Resources"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/resources/{resourceType}/{resourceId}": {
      "get": {
        "tags": [
          "User management"
        ],
        "summary": "Retrieve resources by type",
        "description": "Retrieve a resource by the resource type and resource ID.\n\nResource types are: {datacenter, snapshot, image, ipblock, pcc, backupunit, k8s}\n\nResource types are in the list of resources, returned by GET.",
        "operationId": "umResourcesFindByTypeAndId",
        "parameters": [
          {
            "name": "resourceType",
            "in": "path",
            "description": "The resource type",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceId",
            "in": "path",
            "description": "The resource ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. <b>NOTE:</b> The resource /um and its children support a maximum depth level of 1. It will provide you the entry points to specific user related resources. As these resources are partially servered by other service components, they must be retrieved explicitly. Any depth parameter beyond '?depth=1' will be deprecated by April 30, 2026.",
            "schema": {
              "maximum": 1,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Resource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/users/{userId}/s3keys": {
      "get": {
        "tags": [
          "User S3 keys"
        ],
        "summary": "List user Object storage keys",
        "description": "List Object storage keys by user ID. The user ID is in the response body when the user is created, and in the list of the users, returned by GET.",
        "operationId": "umUsersS3keysGet",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/S3Keys"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "User S3 keys"
        ],
        "summary": "Create user Object storage keys",
        "description": "Create an Object storage key for the specified user. The user ID is in the response body when the user is created, and in the list of the users, returned by GET. A maximum of five keys per user can be generated.",
        "operationId": "umUsersS3keysPost",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/S3Key"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/users/{userId}/s3keys/{keyId}": {
      "get": {
        "tags": [
          "User S3 keys"
        ],
        "summary": "Retrieve user Object storage keys by key ID",
        "description": "Retrieve the specified user Object storage key. The user ID is in the response body when the user is created, and in the list of the users, returned by GET. The key ID is in the response body when the Object storage key is created, and in the list of all user Object storage keys, returned by GET.",
        "operationId": "umUsersS3keysFindByKeyId",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyId",
            "in": "path",
            "description": "The unique ID of the Object storage key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/S3Key"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "User S3 keys"
        ],
        "summary": "Modify a Object storage Key by Key ID",
        "description": "Enables or disables the specified user Object storage key.",
        "operationId": "umUsersS3keysPut",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyId",
            "in": "path",
            "description": "The unique ID of the Object storage key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified Object storage key.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/S3Key"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/S3Key"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "s3Key"
      },
      "delete": {
        "tags": [
          "User S3 keys"
        ],
        "summary": "Delete Object storage keys",
        "description": "Delete the specified user Object storage key.",
        "operationId": "umUsersS3keysDelete",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyId",
            "in": "path",
            "description": "The unique ID of the Object storage key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/um/users/{userId}/s3ssourl": {
      "get": {
        "tags": [
          "User S3 keys"
        ],
        "summary": "Retrieve Object storage single sign-on URLs",
        "description": "Retrieve IONOS Cloud Object Storage single sign-on URLs for the the specified user. The user ID is in the response body when the user is created, and in the list of the users, returned by GET.",
        "operationId": "umUsersS3ssourlGet",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique ID of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/S3ObjectStorageSSO"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/backupunits": {
      "get": {
        "tags": [
          "Backup Service"
        ],
        "summary": "List backup units",
        "description": "List all available backup units.",
        "operationId": "backupunitsGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BackupUnits"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Backup Service"
        ],
        "summary": "Create backup units",
        "description": "Create a backup unit. Backup units are resources, same as storage volumes or snapshots; they can be shared through groups in User management.",
        "operationId": "backupunitsPost",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The backup unit to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BackupUnit"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BackupUnit"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "backupUnit"
      }
    },
    "/backupunits/{backupunitId}": {
      "get": {
        "tags": [
          "Backup Service"
        ],
        "summary": "Retrieve backup units",
        "description": "Retrieve the properties of the specified backup unit.",
        "operationId": "backupunitsFindById",
        "parameters": [
          {
            "name": "backupunitId",
            "in": "path",
            "description": "The unique ID of the backup unit.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BackupUnit"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Backup Service"
        ],
        "summary": "Modify backup units",
        "description": "Modify the properties of the specified backup unit.",
        "operationId": "backupunitsPut",
        "parameters": [
          {
            "name": "backupunitId",
            "in": "path",
            "description": "The unique ID of the backup unit.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified backup unit.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BackupUnitPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BackupUnit"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "backupUnit"
      },
      "delete": {
        "tags": [
          "Backup Service"
        ],
        "summary": "Delete backup units",
        "description": "Remove the specified backup unit.\n\nThis process will delete:\n1) The backup plans inside the backup unit\n2) All backups, associated with this backup unit\n3) The backup user\n4) The backup unit itself",
        "operationId": "backupunitsDelete",
        "parameters": [
          {
            "name": "backupunitId",
            "in": "path",
            "description": "The unique ID of the backup unit.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Backup Service"
        ],
        "summary": "Partially modify backup units",
        "description": "Update the properties of the specified backup unit.",
        "operationId": "backupunitsPatch",
        "parameters": [
          {
            "name": "backupunitId",
            "in": "path",
            "description": "The unique ID of the backup unit.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the backup unit to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BackupUnitPropertiesPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BackupUnit"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "backupUnit"
      }
    },
    "/backupunits/{backupunitId}/ssourl": {
      "get": {
        "tags": [
          "Backup Service"
        ],
        "summary": "Retrieve BU single sign-on URLs",
        "description": "Retrieve a single sign-on URL for the specified backup unit.",
        "operationId": "backupunitsSsourlGet",
        "parameters": [
          {
            "name": "backupunitId",
            "in": "path",
            "description": "The unique ID of the backup unit.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BackupUnitSSO"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/k8s": {
      "get": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Get Kubernetes Clusters",
        "description": "Retrieves a list of all K8s clusters provisioned under your account.",
        "operationId": "k8sGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesClusters"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Create a Kubernetes Cluster",
        "description": "Creates a K8s cluster provisioned under your account.",
        "operationId": "k8sPost",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The Kubernetes cluster to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KubernetesClusterForPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesCluster"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "kubernetesCluster"
      }
    },
    "/k8s/{k8sClusterId}": {
      "get": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Get a Kubernetes Cluster by ID",
        "description": "Retrieves the K8s cluster specified by its ID.",
        "operationId": "k8sFindByClusterId",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the K8s cluster to be retrieved.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesCluster"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Modify a Kubernetes Cluster by ID",
        "description": "Modifies the K8s cluster specified by its ID.",
        "operationId": "k8sPut",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified Kubernetes cluster.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KubernetesClusterForPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesCluster"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "kubernetesCluster"
      },
      "delete": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Delete a Kubernetes Cluster by ID",
        "description": "Deletes the K8s cluster specified  by its ID.",
        "operationId": "k8sDelete",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/k8s/{k8sClusterId}/kubeconfig": {
      "get": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Get Kubernetes Configuration File",
        "description": "Retrieves the configuration file for the specified K8s cluster. You can define the format (YAML or JSON) of the returned file in the Accept header. By default, 'application/yaml' is specified.",
        "operationId": "k8sKubeconfigGet",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/yaml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/yaml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/k8s/{k8sClusterId}/nodepools": {
      "get": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Get Kubernetes Node Pools",
        "description": "Retrieves a list of K8s node pools of a cluster specified by its ID.",
        "operationId": "k8sNodepoolsGet",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesNodePools"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Create a Kubernetes Node Pool",
        "description": "Creates a node pool inside the specified K8s cluster.",
        "operationId": "k8sNodepoolsPost",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The Kubernetes node pool to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KubernetesNodePoolForPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesNodePool"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "KubernetesNodePool"
      }
    },
    "/k8s/{k8sClusterId}/nodepools/{nodepoolId}": {
      "get": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Get a Kubernetes Node Pool by ID",
        "description": "Retrieves the K8s node pool specified by its ID.",
        "operationId": "k8sNodepoolsFindById",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodepoolId",
            "in": "path",
            "description": "The unique ID of the Kubernetes node pool.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesNodePool"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Modify a Kubernetes Node Pool by ID",
        "description": "Modifies the K8s node pool specified by its ID.",
        "operationId": "k8sNodepoolsPut",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodepoolId",
            "in": "path",
            "description": "The unique ID of the Kubernetes node pool.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Details of the Kubernetes Node Pool",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KubernetesNodePoolForPut"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesNodePool"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "KubernetesNodePool"
      },
      "delete": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Delete a Kubernetes Node Pool by ID",
        "description": "Deletes the K8s node pool specified by its ID.",
        "operationId": "k8sNodepoolsDelete",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodepoolId",
            "in": "path",
            "description": "The unique ID of the Kubernetes node pool.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes": {
      "get": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Get Kubernetes Nodes",
        "description": "Retrieves the list of all K8s nodes of the specified node pool.",
        "operationId": "k8sNodepoolsNodesGet",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodepoolId",
            "in": "path",
            "description": "The unique ID of the Kubernetes node pool.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesNodes"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes/{nodeId}": {
      "get": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Get Kubernetes Node by ID",
        "description": "Retrieves the K8s node specified by its ID.",
        "operationId": "k8sNodepoolsNodesFindById",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodepoolId",
            "in": "path",
            "description": "The unique ID of the Kubernetes node pool.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodeId",
            "in": "path",
            "description": "The unique ID of the Kubernetes node.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesNode"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Delete a Kubernetes Node by ID",
        "description": "Deletes the K8s node specified by its ID.",
        "operationId": "k8sNodepoolsNodesDelete",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodepoolId",
            "in": "path",
            "description": "The unique ID of the Kubernetes node pool.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodeId",
            "in": "path",
            "description": "The unique ID of the Kubernetes node.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/k8s/{k8sClusterId}/nodepools/{nodepoolId}/nodes/{nodeId}/replace": {
      "post": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Recreate a Kubernetes Node by ID",
        "description": "Recreates the K8s node specified by its ID.\n\nIf a node becomes unusable, Managed Kubernetes allows you to recreate it with a configuration based on the node pool template. Once the status is 'Active,' all the pods from the failed node will be migrated to the new node. The node pool has an additional billable 'active' node during this process.",
        "operationId": "k8sNodepoolsNodesReplacePost",
        "parameters": [
          {
            "name": "k8sClusterId",
            "in": "path",
            "description": "The unique ID of the Kubernetes cluster.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodepoolId",
            "in": "path",
            "description": "The unique ID of the Kubernetes node pool.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodeId",
            "in": "path",
            "description": "The unique ID of the Kubernetes node.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/k8s/versions": {
      "get": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Get Kubernetes Versions",
        "description": "Lists available K8s versions.",
        "operationId": "k8sVersionsGet",
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 401 (auth error), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type), 422 (validation error), 500 (server error), 503 (maintenance)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/k8s/versions/default": {
      "get": {
        "tags": [
          "Kubernetes"
        ],
        "summary": "Get Default Kubernetes Version",
        "description": "Retrieves the current default K8s version to be used by the clusters and node pools.",
        "operationId": "k8sVersionsDefaultGet",
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "example": "1.21.4"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 401 (auth error), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type), 422 (validation error), 500 (server error), 503 (maintenance)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/pccs": {
      "get": {
        "tags": [
          "Cross Connects"
        ],
        "summary": "List Cross Connects",
        "description": "List all Cross Connects. For contract owner and administrators it returns all cross connects in your contract. For non administrator users it only returns the cross connects you are granted access via the user groups you are member of.",
        "operationId": "pccsGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrivateCrossConnects"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Cross Connects"
        ],
        "summary": "Create a Cross Connect",
        "description": "Creates a Cross-Connect. Only contract owners, administrators and users with createPcc user privilege can create a cross connect. Please note that connecting a LAN to a cross connect is to be done via the /lan endpoint.",
        "operationId": "pccsPost",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The Cross Connect to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrivateCrossConnect"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrivateCrossConnect"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "pcc"
      }
    },
    "/pccs/{pccId}": {
      "get": {
        "tags": [
          "Cross Connects"
        ],
        "summary": "Retrieve a Cross Connect",
        "description": "Retrieve a Cross Connect by the resource ID. Cross Connect ID is in the response body when the Cross Connect is created and in the list of Cross Connects, returned by GET. For contract owner and administrators all cross connects in your contract can be retrieved. For non administrator users it only returns the cross connects you are granted access via the user groups you are member of.",
        "operationId": "pccsFindById",
        "parameters": [
          {
            "name": "pccId",
            "in": "path",
            "description": "The unique ID of the Cross Connect.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrivateCrossConnect"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Cross Connects"
        ],
        "summary": "Delete Cross Connects",
        "description": "Remove the specified Cross Connect. Cross connect can be deleted only if it is not connected to any LANs. For non administrator users a cross connect can be deleted only if you are granted access via the user groups you are member of.",
        "operationId": "pccsDelete",
        "parameters": [
          {
            "name": "pccId",
            "in": "path",
            "description": "The unique ID of the Cross Connect.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Cross Connects"
        ],
        "summary": "Partially modify a Cross Connects",
        "description": "Update the properties of the specified Cross Connect.For non administrator users you can only update the cross connects you are granted access via the user groups you are member of",
        "operationId": "pccsPatch",
        "parameters": [
          {
            "name": "pccId",
            "in": "path",
            "description": "The unique ID of the Cross Connect.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the Cross Connect to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrivateCrossConnectProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrivateCrossConnect"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "pcc"
      }
    },
    "/labels": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "List labels",
        "description": "List all available labels.",
        "operationId": "labelsGet",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Labels"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/labels/{labelurn}": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "Retrieve labels by URN",
        "description": "Retrieve a label by label URN.\n\nThe URN is unique for each label, and consists of:\n\nurn:label:<resource_type>:<resource_uuid>:<key>",
        "operationId": "labelsFindByUrn",
        "parameters": [
          {
            "name": "labelurn",
            "in": "path",
            "description": "The label URN; URN is unique for each label, and consists of:\n\nurn:label:<resource_type>:<resource_uuid>:<key><key>",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Label"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/labels": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "List data center labels",
        "description": "List all the the labels for the specified data center.",
        "operationId": "datacentersLabelsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResources"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Labels"
        ],
        "summary": "Create a Data Center Label",
        "description": "Adds a new label to the specified data center.",
        "operationId": "datacentersLabelsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The label to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      }
    },
    "/datacenters/{datacenterId}/labels/{key}": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "Retrieve data center labels",
        "description": "Retrieve the properties of the specified data center label.",
        "operationId": "datacentersLabelsFindByKey",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Labels"
        ],
        "summary": "Modify a Data Center Label by Key",
        "description": "Modifies the specified data center label.",
        "operationId": "datacentersLabelsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified label",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      },
      "delete": {
        "tags": [
          "Labels"
        ],
        "summary": "Delete data center labels",
        "description": "Delete the specified data center label.",
        "operationId": "datacentersLabelsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/labels": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "List server labels",
        "description": "List all the the labels for the specified server.",
        "operationId": "datacentersServersLabelsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResources"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Labels"
        ],
        "summary": "Create a Server Label",
        "description": "Adds a new label to the specified server.",
        "operationId": "datacentersServersLabelsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The label to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/labels/{key}": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "Retrieve server labels",
        "description": "Retrieve the properties of the specified server label.",
        "operationId": "datacentersServersLabelsFindByKey",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Labels"
        ],
        "summary": "Modify a Server Label",
        "description": "Modifies the specified server label.",
        "operationId": "datacentersServersLabelsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified label",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      },
      "delete": {
        "tags": [
          "Labels"
        ],
        "summary": "Delete server labels",
        "description": "Delete the specified server label.",
        "operationId": "datacentersServersLabelsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/volumes/{volumeId}/labels": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "List volume labels",
        "description": "List all the the labels for the specified volume.",
        "operationId": "datacentersVolumesLabelsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResources"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Labels"
        ],
        "summary": "Create a Volume Label",
        "description": "Adds a new label to the specified volume.",
        "operationId": "datacentersVolumesLabelsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The label to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      }
    },
    "/datacenters/{datacenterId}/volumes/{volumeId}/labels/{key}": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "Retrieve volume labels",
        "description": "Retrieve the properties of the specified volume label.",
        "operationId": "datacentersVolumesLabelsFindByKey",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Labels"
        ],
        "summary": "Modify a Volume Label",
        "description": "Modifies the specified volume label.",
        "operationId": "datacentersVolumesLabelsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified label",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      },
      "delete": {
        "tags": [
          "Labels"
        ],
        "summary": "Delete volume labels",
        "description": "Delete the specified volume label.",
        "operationId": "datacentersVolumesLabelsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "volumeId",
            "in": "path",
            "description": "The unique ID of the volume.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/snapshots/{snapshotId}/labels": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "List snapshot labels",
        "description": "List all the the labels for the specified snapshot.",
        "operationId": "snapshotsLabelsGet",
        "parameters": [
          {
            "name": "snapshotId",
            "in": "path",
            "description": "The unique ID of the snapshot.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResources"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Labels"
        ],
        "summary": "Create a Snapshot Label",
        "description": "Adds a new label to the specified snapshot.",
        "operationId": "snapshotsLabelsPost",
        "parameters": [
          {
            "name": "snapshotId",
            "in": "path",
            "description": "The unique ID of the snapshot.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The label to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      }
    },
    "/snapshots/{snapshotId}/labels/{key}": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "Retrieve snapshot labels",
        "description": "Retrieve the properties of the specified snapshot label.",
        "operationId": "snapshotsLabelsFindByKey",
        "parameters": [
          {
            "name": "snapshotId",
            "in": "path",
            "description": "The unique ID of the snapshot.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Labels"
        ],
        "summary": "Modify a Snapshot Label by ID",
        "description": "Modifies the specified snapshot label.",
        "operationId": "snapshotsLabelsPut",
        "parameters": [
          {
            "name": "snapshotId",
            "in": "path",
            "description": "The unique ID of the snapshot.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified label",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      },
      "delete": {
        "tags": [
          "Labels"
        ],
        "summary": "Delete snapshot labels",
        "description": "Delete the specified snapshot label.",
        "operationId": "snapshotsLabelsDelete",
        "parameters": [
          {
            "name": "snapshotId",
            "in": "path",
            "description": "The unique ID of the snapshot.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/ipblocks/{ipblockId}/labels": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "List IP block labels",
        "description": "List all the the labels for the specified IP block.",
        "operationId": "ipblocksLabelsGet",
        "parameters": [
          {
            "name": "ipblockId",
            "in": "path",
            "description": "The unique ID of the IP block.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResources"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Labels"
        ],
        "summary": "Create IP block labels",
        "description": "Add a new label to the specified IP block.",
        "operationId": "ipblocksLabelsPost",
        "parameters": [
          {
            "name": "ipblockId",
            "in": "path",
            "description": "The unique ID of the IP block.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The label to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      }
    },
    "/ipblocks/{ipblockId}/labels/{key}": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "Retrieve IP block labels",
        "description": "Retrieve the properties of the specified IP block label.",
        "operationId": "ipblocksLabelsFindByKey",
        "parameters": [
          {
            "name": "ipblockId",
            "in": "path",
            "description": "The unique ID of the IP block.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Labels"
        ],
        "summary": "Modify a IP Block Label by ID",
        "description": "Modifies the specified IP block label.",
        "operationId": "ipblocksLabelsPut",
        "parameters": [
          {
            "name": "ipblockId",
            "in": "path",
            "description": "The unique ID of the IP block.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified label",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      },
      "delete": {
        "tags": [
          "Labels"
        ],
        "summary": "Delete IP block labels",
        "description": "Delete the specified IP block label.",
        "operationId": "ipblocksLabelsDelete",
        "parameters": [
          {
            "name": "ipblockId",
            "in": "path",
            "description": "The unique ID of the IP block.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/images/{imageId}/labels": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "List image labels",
        "description": "List all the the labels for the specified image.",
        "operationId": "imagesLabelsGet",
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "description": "The unique ID of the image.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResources"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Labels"
        ],
        "summary": "Create an Image Label",
        "description": "Adds a new label to the specified image.",
        "operationId": "imagesLabelsPost",
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "description": "The unique ID of the image",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The label to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      }
    },
    "/images/{imageId}/labels/{key}": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "Retrieve image labels",
        "description": "Retrieve the properties of the specified image label.",
        "operationId": "imagesLabelsFindByKey",
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "description": "The unique ID of the image.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Labels"
        ],
        "summary": "Modify an Image Label by Key",
        "description": "Modifies the specified data center label.",
        "operationId": "imagesLabelsPut",
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "description": "The unique ID of the image.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The modified label",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelResource"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelResource"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "label"
      },
      "delete": {
        "tags": [
          "Labels"
        ],
        "summary": "Delete image label",
        "description": "Delete the specified image label.",
        "operationId": "imagesLabelsDelete",
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "description": "The unique ID of the image.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "The label key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/templates": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Get Templates",
        "description": "Retrieves all available templates.\n\nTemplates provide a pre-defined configuration for Cube servers. \n\n >Templates are read-only and cannot be created, modified, or deleted by users.",
        "operationId": "templatesGet",
        "parameters": [
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Templates"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/templates/{templateId}": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Get Template by ID",
        "description": "Retrieves the properties of the template specified by its ID.",
        "operationId": "templatesFindById",
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "description": "The unique template ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Template"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/securitygroups": {
      "get": {
        "tags": [
          "Security Groups"
        ],
        "summary": "List Security Groups",
        "description": "Retrieve a list of available security groups.",
        "operationId": "datacentersSecuritygroupsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a rate limit.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroups"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Create a Security Group",
        "description": "Creates a security group within the data center. This will allow you to define which IP addresses and networks have access to your servers.",
        "operationId": "datacentersSecuritygroupsPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The security group to be created",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SecurityGroupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted. The request has been accepted for processing.",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a rate limit.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroup"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "securityGroup"
      }
    },
    "/datacenters/{datacenterId}/securitygroups/{securityGroupId}": {
      "get": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Retrieve a Security Group",
        "description": "Retrieves the attributes of a given Security Group.",
        "operationId": "datacentersSecuritygroupsFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "securityGroupId",
            "in": "path",
            "description": "The unique ID of the security group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a rate limit.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroup"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Modify Security Group",
        "description": "Modify the properties of the specified Security Group within the data center.",
        "operationId": "datacentersSecuritygroupsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "securityGroupId",
            "in": "path",
            "description": "The unique ID of the Security Group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The modified Security Group",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SecurityGroupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroup"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "securityGroup"
      },
      "patch": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Partially modify Security Group",
        "description": "Modify the properties of the specified Security Group within the data center.",
        "operationId": "datacentersSecuritygroupsPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "securityGroupId",
            "in": "path",
            "description": "The unique ID of the Security Group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The modified Security Group",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SecurityGroupProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroup"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "securityGroup"
      },
      "delete": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Delete a Security Group",
        "description": "Deletes the specified Security Group.",
        "operationId": "datacentersSecuritygroupsDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "securityGroupId",
            "in": "path",
            "description": "The unique ID of the Security Group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted. The request has been accepted for processing.",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a rate limit.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "TokenAuthentication": []
          },
          {
            "BasicAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/securitygroups/{securityGroupId}/rules": {
      "get": {
        "tags": [
          "Security Groups"
        ],
        "summary": "List Security Group rules",
        "description": "List all rules for the specified Security Group.",
        "operationId": "datacentersSecuritygroupsRulesGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "securityGroupId",
            "in": "path",
            "description": "The unique ID of the security group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements to return (use together with offset for pagination).",
            "schema": {
              "maximum": 10000,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRules"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "post": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Create Firewall rule to a Security Group",
        "description": "Create one firewall rule and attach it to the existing security group",
        "operationId": "datacentersSecuritygroupsFirewallrulesPost",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "securityGroupId",
            "in": "path",
            "description": "The unique ID of the security group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The firewall to be attached (or created and attached).",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FirewallRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a rate limit.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "TokenAuthentication": []
          },
          {
            "BasicAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "firewallRule"
      }
    },
    "/datacenters/{datacenterId}/securitygroups/{securityGroupId}/rules/{ruleId}": {
      "get": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Retrieve security group rule by id",
        "description": "Retrieve the properties of the specified Security Group rule.",
        "operationId": "datacentersSecuritygroupsRulesFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "securityGroupId",
            "in": "path",
            "description": "The unique ID of the Security Group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ruleId",
            "in": "path",
            "description": "The unique ID of the Security Group rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      },
      "put": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Modify a Security Group Rule",
        "description": "Modifies the properties of the specified Security Group Rule.",
        "operationId": "datacentersSecuritygroupsRulesPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "securityGroupId",
            "in": "path",
            "description": "The unique ID of the security group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ruleId",
            "in": "path",
            "description": "The unique ID of the Security Group Rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The modified Security Group Rule.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FirewallRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "rule"
      },
      "delete": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Remove a Firewall Rule from a Security Group",
        "description": "Removes the specific Firewall Rule from the Security Group and delete the Firewall rule",
        "operationId": "datacentersSecuritygroupsFirewallrulesDelete",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "securityGroupId",
            "in": "path",
            "description": "The unique ID of the security group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ruleId",
            "in": "path",
            "description": "The unique ID of the firewall rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted. The request has been accepted for processing.",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a rate limit.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "TokenAuthentication": []
          },
          {
            "BasicAuthentication": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Partially modify Security Group Rules",
        "description": "Update the properties of the specified Security Group rule.",
        "operationId": "datacentersSecuritygroupsRulesPatch",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "securityGroupId",
            "in": "path",
            "description": "The unique ID of the security group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ruleId",
            "in": "path",
            "description": "The unique ID of the Security Group Rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The properties of the Security Group Rule to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FirewallruleProperties"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRule"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "rule"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/securitygroups": {
      "put": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Attach a list of Security Groups to a Server",
        "description": "Updating the list of Security Groups attached to an existing server specified by its ID.  Security Groups should already exist as part of the datacenter.",
        "operationId": "datacentersServersSecuritygroupsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The list of server attached Security Groups IDs.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListOfIds"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroups"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "securitygroups"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/nics/{nicId}/securitygroups": {
      "put": {
        "tags": [
          "Security Groups"
        ],
        "summary": "Attach a list of Security Groups to a NIC",
        "description": "Updating the list of Security Groups attached to an existing NIC specified by its ID.  Security Groups should already exist as part of the datacenter.",
        "operationId": "datacentersServersNicsSecuritygroupsPut",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nicId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. GET /datacenters/[ID]\n  - depth=0: Only direct properties are included;\n             children (servers and other elements) are not included.\n  - depth=1: Direct properties and children references are included.\n  - depth=2: Direct properties and children properties are included.\n  - depth=3: Direct properties and children properties and children's children are included.\n  - depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The list of NIC attached Security Groups IDs.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListOfIds"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "Location": {
                "description": "Callback URL to poll async operation status.",
                "schema": {
                  "pattern": "https://[apiBaseUri]/requests/[requestId]/status",
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecurityGroups"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code:\n  400 (parse error),\n  401 (auth error),\n  402 (trial access),\n  403 (insufficient privileges),\n  404 (not found),\n  405 (unsupported HTTP method),\n  415 (unsupported content type),\n  422 (validation error),\n  429 (request rate limit exceeded),\n  500 (server error),\n  or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ],
        "x-codegen-request-body-name": "securitygroups"
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/gpus": {
      "get": {
        "tags": [
          "Graphics Processing Unit cards"
        ],
        "summary": "List GPUs",
        "description": "List the server's Graphics Processing Unit (GPU) cards",
        "operationId": "datacentersServersGPUsGet",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GPUs"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    },
    "/datacenters/{datacenterId}/servers/{serverId}/gpus/{gpuId}": {
      "get": {
        "tags": [
          "Graphics Processing Unit cards"
        ],
        "summary": "Retrieve GPUs by ID",
        "description": "Retrieves a server's Graphics Processing Unit (GPU) card based on the given id.",
        "operationId": "datacentersServersGPUsFindById",
        "parameters": [
          {
            "name": "datacenterId",
            "in": "path",
            "description": "The unique ID of the data center.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "serverId",
            "in": "path",
            "description": "The unique ID of the server.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "gpuId",
            "in": "path",
            "description": "The unique ID of the Graphics Processing Unit (GPU) card.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "depth",
            "in": "query",
            "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
            "schema": {
              "maximum": 10,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "X-Contract-Number",
            "in": "header",
            "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "headers": {
              "X-RateLimit-Remaining": {
                "description": "The number of requests that can still be made without triggering a failure response.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Limit": {
                "description": "The average number of requests per minute allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "X-RateLimit-Burst": {
                "description": "The maximum number of concurrent API requests allowed.",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GPU"
                }
              }
            }
          },
          "default": {
            "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuthentication": []
          },
          {
            "TokenAuthentication": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AttachedVolumes": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "items": {
              "$ref": "#/components/schemas/Volume"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "DatacenterElementMetadata": {
        "type": "object",
        "properties": {
          "etag": {
            "type": "string",
            "description": "Resource's Entity Tag as defined in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.11  Entity Tag is also added as an 'ETag response header to requests which don't use 'depth' parameter.",
            "readOnly": true,
            "example": "45480eb3fbfc31f1d916c1eaa4abdcc3"
          },
          "createdDate": {
            "type": "string",
            "description": "The last time the resource was created.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "createdBy": {
            "type": "string",
            "description": "The user who created the resource.",
            "readOnly": true,
            "example": "user@example.com"
          },
          "createdByUserId": {
            "type": "string",
            "description": "The unique ID of the user who created the resource.",
            "readOnly": true,
            "example": "user@example.com"
          },
          "lastModifiedDate": {
            "type": "string",
            "description": "The last time the resource was modified.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "lastModifiedBy": {
            "type": "string",
            "description": "The user who last modified the resource.",
            "readOnly": true,
            "example": "user@example.com"
          },
          "lastModifiedByUserId": {
            "type": "string",
            "description": "The unique ID of the user who last modified the resource.",
            "readOnly": true,
            "example": "63cef532-26fe-4a64-a4e0-de7c8a506c90"
          },
          "state": {
            "type": "string",
            "description": "State of the resource. *AVAILABLE* There are no pending modification requests for this item; *BUSY* There is at least one modification request pending and all following requests will be queued; *INACTIVE* Resource has been de-provisioned; *DEPLOYING* Resource state DEPLOYING - relevant for Kubernetes cluster/nodepool; *ACTIVE* Resource state ACTIVE - relevant for Kubernetes cluster/nodepool; *FAILED* Resource state FAILED - relevant for Kubernetes cluster/nodepool; *SUSPENDED* Resource state SUSPENDED - relevant for Kubernetes cluster/nodepool; *FAILED_SUSPENDED* Resource state FAILED_SUSPENDED - relevant for Kubernetes cluster; *UPDATING* Resource state UPDATING - relevant for Kubernetes cluster/nodepool; *FAILED_UPDATING* Resource state FAILED_UPDATING - relevant for Kubernetes cluster/nodepool; *DESTROYING* Resource state DESTROYING - relevant for Kubernetes cluster; *FAILED_DESTROYING* Resource state FAILED_DESTROYING - relevant for Kubernetes cluster/nodepool; *TERMINATED* Resource state TERMINATED - relevant for Kubernetes cluster/nodepool; *HIBERNATING* Resource state HIBERNATING - relevant for Kubernetes cluster/nodepool; *FAILED_HIBERNATING* Resource state FAILED_HIBERNATING - relevant for Kubernetes cluster/nodepool; *MAINTENANCE* Resource state MAINTENANCE - relevant for Kubernetes cluster/nodepool; *FAILED_HIBERNATING* Resource state FAILED_HIBERNATING - relevant for Kubernetes cluster/nodepool.",
            "readOnly": true,
            "example": "AVAILABLE",
            "enum": [
              "AVAILABLE",
              "INACTIVE",
              "BUSY",
              "DEPLOYING",
              "ACTIVE",
              "FAILED",
              "SUSPENDED",
              "FAILED_SUSPENDED",
              "UPDATING",
              "FAILED_UPDATING",
              "DESTROYING",
              "FAILED_DESTROYING",
              "TERMINATED",
              "HIBERNATING",
              "FAILED_HIBERNATING",
              "MAINTENANCE",
              "FAILED_MAINTENANCE",
              "UNKNOWN"
            ]
          }
        }
      },
      "KubernetesNodeMetadata": {
        "type": "object",
        "properties": {
          "etag": {
            "type": "string",
            "description": "The resource entity tag as defined in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.11  Entity tags are also added as 'ETag' response headers to requests that do not use the 'depth' parameter.",
            "readOnly": true,
            "example": "45480eb3fbfc31f1d916c1eaa4abdcc3"
          },
          "createdDate": {
            "type": "string",
            "description": "The date the resource was created.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "lastModifiedDate": {
            "type": "string",
            "description": "The date the resource was last modified.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "state": {
            "type": "string",
            "description": "The resource state.",
            "readOnly": true,
            "example": "READY",
            "enum": [
              "PROVISIONING",
              "PROVISIONED",
              "READY",
              "TERMINATING",
              "REBUILDING",
              "BUSY"
            ]
          },
          "lastSoftwareUpdatedDate": {
            "type": "string",
            "description": "The date when the software on the node was last updated.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          }
        }
      },
      "S3KeyMetadata": {
        "type": "object",
        "properties": {
          "etag": {
            "type": "string",
            "description": "Resource's Entity Tag as defined in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.11  Entity Tag is also added as an 'ETag response header to requests which don't use 'depth' parameter.",
            "readOnly": true,
            "example": "45480eb3fbfc31f1d916c1eaa4abdcc3"
          },
          "createdDate": {
            "type": "string",
            "description": "The time when the Object storage key was created.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "createdBy": {
            "type": "string",
            "description": "Unique name of the identity that created the resource.",
            "readOnly": true,
            "example": "ionos:identity:::users/63cef532-26fe-4a64-a4e0-de7c8a506c90"
          },
          "createdByUserId": {
            "type": "string",
            "description": "The unique ID of the user who created the Object storage key.",
            "readOnly": true,
            "example": "63cef532-26fe-4a64-a4e0-de7c8a506c90"
          },
          "lastModifiedDate": {
            "type": "string",
            "description": "The last time the Object storage key was modified.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "lastModifiedBy": {
            "type": "string",
            "description": "Unique name of the identity that last modified the Object storage key.",
            "readOnly": true,
            "example": "ionos:identity:::users/63cef532-26fe-4a64-a4e0-de7c8a506c90"
          },
          "lastModifiedByUserId": {
            "type": "string",
            "description": "The unique ID of the user who last modified the Object storage key.",
            "readOnly": true,
            "example": "63cef532-26fe-4a64-a4e0-de7c8a506c90"
          }
        }
      },
      "NoStateMetaData": {
        "type": "object",
        "properties": {
          "etag": {
            "type": "string",
            "description": "Resource's Entity Tag as defined in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.11  Entity Tag is also added as an 'ETag response header to requests which don't use 'depth' parameter.",
            "readOnly": true,
            "example": "45480eb3fbfc31f1d916c1eaa4abdcc3"
          },
          "createdDate": {
            "type": "string",
            "description": "The time when the resource was created.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "createdBy": {
            "type": "string",
            "description": "The user who has created the resource.",
            "readOnly": true,
            "example": "user@example.com"
          },
          "createdByUserId": {
            "type": "string",
            "description": "The unique ID of the user who created the resource.",
            "readOnly": true,
            "example": "user@example.com"
          },
          "lastModifiedDate": {
            "type": "string",
            "description": "The last time the resource was modified.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "lastModifiedBy": {
            "type": "string",
            "description": "The user who last modified the resource.",
            "readOnly": true,
            "example": "user@example.com"
          },
          "lastModifiedByUserId": {
            "type": "string",
            "description": "The unique ID of the user who last modified the resource.",
            "readOnly": true,
            "example": "63cef532-26fe-4a64-a4e0-de7c8a506c90"
          }
        }
      },
      "ImageAlias": {
        "type": "object",
        "properties": {
          "imageAlias": {
            "type": "string",
            "description": "Image alias of an image to be used as template for this volume. MSSQL Enterprise Images can be used only if the feature toggle for MSSQL Enterprise is enabled on the contract. If the referenced image supports Confidential Computing, additional rules apply: the volume can only be created inline as part of a server creation request (not via standalone volume creation, nor by attaching to an existing server), and exactly one volume on that server may use such an image. The resulting volume is permanently bound to the server as its boot device and cannot be detached or moved to another server."
          }
        }
      },
      "VolumeProperties": {
        "required": [
          "size"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "My resource"
          },
          "type": {
            "type": "string",
            "description": "Hardware type of the volume. DAS (Direct Attached Storage) could be used only in a composite call with a Cube server.",
            "example": "HDD",
            "enum": [
              "HDD",
              "SSD",
              "SSD Standard",
              "SSD Premium",
              "DAS",
              "ISO"
            ]
          },
          "size": {
            "type": "number",
            "description": "The size of the volume in GB.",
            "example": 100
          },
          "availabilityZone": {
            "type": "string",
            "description": "The availability zone in which the volume should be provisioned. The storage volume will be provisioned on as few physical storage devices as possible, but this cannot be guaranteed upfront. This is uavailable for DAS (Direct Attached Storage), and subject to availability for SSD.",
            "example": "AUTO",
            "enum": [
              "AUTO",
              "ZONE_1",
              "ZONE_2",
              "ZONE_3"
            ]
          },
          "image": {
            "type": "string",
            "description": "Image or snapshot ID to be used as template for this volume. MSSQL Enterprise Images can be used only if the feature toggle for MSSQL Enterprise is enabled on the contract. If the referenced image supports Confidential Computing, additional rules apply: the volume can only be created inline as part of a server creation request (not via standalone volume creation, nor by attaching to an existing server), and exactly one volume on that server may use such an image. The resulting volume is permanently bound to the server as its boot device and cannot be detached or moved to another server.",
            "example": "d6ad1576-fde9-4696-aa41-1ebd75bdaf49"
          },
          "imagePassword": {
            "type": "string",
            "description": "Initial password to be set for installed OS. Works with public images only. Not modifiable, forbidden in update requests. Password rules allows all characters from a-z, A-Z, 0-9.",
            "example": "mypass123"
          },
          "sshKeys": {
            "type": "array",
            "description": "Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.",
            "example": [
              "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyWh6LZ7f2wxnupVgtK2096bc69Vv9uT2A58lwN3ol0A6mxqlT0f4M1NbarVUxa+MVdxBLud5PvlkbYc9mY91OyzLGZMfVWvhAYz/tJSsDtsgRUl0GFVv332zDWk0i+mAVy0N408OORm5XqV6zvIDaiB/jopyjemUp2rnP7pXU4+98ilZw6ef9DF9y4YZ64mchL5//rcrGm1Lff3pC75X/polGONHeG6m4Vs8eIu+0epJ4PJBxO+rwRYp1zMnn90UCk21KvTcYops2cte7ouXQwkGUq3vmXxnSdvuivK/4JNoFQBsaGV974hDmloS5LOvSJjKpXs8Ed437ln712345",
              "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyWh6LZ7f2wxnupVgtK2096bc69Vv9uT2A58lwN3ol0A6mxqlT0f4M1NbarVUxa+MVdxBLud5PvlkbYc9mY91OyzLGZMfVWvhAYz/tJSsDtsgRUl0GFVv332zDWk0i+mAVy0N408OORm5XqV6zvIDaiB/jopyjemUp2rnP7pXU4+98ilZw6ef9DF9y4YZ64mchL5//rcrGm1Lff3pC75X/polGONHeG6m4Vs8eIu+0epJ4PJBxO+rwRYp1zMnn90UCk21KvTcYops2cte7ouXQwkGUq3vmXxnSdvuivK/asdfghjkjhyutry545tgvbn76e4rf43"
            ],
            "items": {
              "type": "string"
            }
          },
          "bus": {
            "type": "string",
            "description": "The bus type for this volume; default is VIRTIO.",
            "example": "VIRTIO",
            "enum": [
              "VIRTIO",
              "IDE",
              "UNKNOWN"
            ]
          },
          "licenceType": {
            "type": "string",
            "description": "OS type for this volume.",
            "example": "LINUX",
            "x-extensible-enum": [
              "UNKNOWN",
              "WINDOWS",
              "WINDOWS2016",
              "WINDOWS2019",
              "WINDOWS2022",
              "WINDOWS2025",
              "RHEL",
              "LINUX",
              "OTHER"
            ]
          },
          "applicationType": {
            "$ref": "#/components/schemas/ApplicationType"
          },
          "cpuHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable CPU (no reboot required).",
            "example": true
          },
          "ramHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable RAM (no reboot required).",
            "example": true
          },
          "nicHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable NIC (no reboot required).",
            "example": true
          },
          "nicHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable NIC (no reboot required).",
            "example": true
          },
          "discVirtioHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable Virt-IO drive (no reboot required).",
            "example": true
          },
          "discVirtioHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable Virt-IO drive (no reboot required). Not supported with Windows VMs.",
            "example": true
          },
          "exposeSerial": {
            "$ref": "#/components/schemas/ExposeSerial"
          },
          "requireLegacyBios": {
            "$ref": "#/components/schemas/RequireLegacyBios"
          },
          "deviceNumber": {
            "type": "integer",
            "description": "The Logical Unit Number of the storage volume. Null for volumes, not mounted to a VM.",
            "format": "int64",
            "readOnly": true,
            "example": 3
          },
          "pciSlot": {
            "type": "integer",
            "description": "The PCI slot number of the storage volume. Null for volumes, not mounted to a VM.",
            "format": "int32",
            "readOnly": true,
            "example": 7
          },
          "backupunitId": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the backup unit that the user has access to. The property is immutable and is only allowed to be set on creation of a new a volume. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.",
            "example": "25f67991-0f51-4efc-a8ad-ef1fb31a481c"
          },
          "userData": {
            "type": "string",
            "description": "The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on creation of a new a volume. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property. This field is blocked for Confidential Computing VM storage."
          },
          "bootServer": {
            "type": "string",
            "description": "The UUID of the attached server.",
            "readOnly": true,
            "example": "25f67991-0f51-4efc-a8ad-ef1fb31a481c"
          },
          "bootOrder": {
            "type": "string",
            "description": "Determines whether the volume will be used as a boot volume. Set to `NONE`, the volume will not be used as boot volume. Set to `PRIMARY`, the volume will be used as boot volume and all other volumes must be set to `NONE`. Set to `AUTO` or `null` requires all volumes to be set to `AUTO` or `null`; this will use the legacy behavior, which is to use the volume as a boot volume only if there are no other volumes or cdrom devices.\nA volume with a Confidential Computing image may be created with `bootOrder` set to `PRIMARY` (or left unset / `AUTO`, in which case it is automatically treated as the boot device), but it must not be created with `bootOrder` set to `NONE`. Conversely, no other volume attached to the same server is allowed to be set to `PRIMARY` — only the confidential computing volume can be the boot device.",
            "nullable": true,
            "example": "AUTO",
            "default": "AUTO",
            "enum": [
              "AUTO",
              "NONE",
              "PRIMARY"
            ]
          }
        }
      },
      "VolumeId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The Id of an existing volume that needs to be attached to the server.",
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          }
        }
      },
      "Volume": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "volume",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/VolumeProperties"
          }
        }
      },
      "VolumePropertiesPost": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "properties": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VolumeProperties"
              },
              {
                "$ref": "#/components/schemas/ImageAlias"
              }
            ]
          }
        }
      },
      "Cdroms": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "items": {
              "$ref": "#/components/schemas/Image"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "Image": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "image",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/ImageProperties"
          }
        }
      },
      "ImageProperties": {
        "required": [
          "licenceType"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The resource name.",
            "example": "My resource"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description.",
            "example": "The image/snapshot of Ubuntu "
          },
          "location": {
            "type": "string",
            "description": "The location of this image/snapshot.",
            "readOnly": true,
            "example": "us/las"
          },
          "size": {
            "type": "number",
            "description": "The image size in GB.",
            "readOnly": true,
            "example": 100
          },
          "cpuHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable CPU (no reboot required).",
            "example": true
          },
          "cpuHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable CPU (no reboot required).",
            "example": true
          },
          "ramHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable RAM (no reboot required).",
            "example": true
          },
          "ramHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable RAM (no reboot required).",
            "example": true
          },
          "nicHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable NIC (no reboot required).",
            "example": true
          },
          "nicHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable NIC (no reboot required).",
            "example": true
          },
          "discVirtioHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable Virt-IO drive (no reboot required).",
            "example": true
          },
          "discVirtioHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable Virt-IO drive (no reboot required). Not supported with Windows VMs.",
            "example": true
          },
          "discScsiHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable SCSI drive (no reboot required).",
            "example": true
          },
          "discScsiHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable SCSI drive (no reboot required). Not supported with Windows VMs.",
            "example": true
          },
          "exposeSerial": {
            "$ref": "#/components/schemas/ExposeSerial"
          },
          "requireLegacyBios": {
            "$ref": "#/components/schemas/RequireLegacyBios"
          },
          "licenceType": {
            "type": "string",
            "description": "The OS type of this image.",
            "example": "LINUX",
            "x-extensible-enum": [
              "UNKNOWN",
              "WINDOWS",
              "WINDOWS2016",
              "WINDOWS2019",
              "WINDOWS2022",
              "WINDOWS2025",
              "RHEL",
              "LINUX",
              "OTHER"
            ]
          },
          "applicationType": {
            "$ref": "#/components/schemas/ApplicationType"
          },
          "imageType": {
            "type": "string",
            "description": "The image type.",
            "readOnly": true,
            "example": "HDD",
            "enum": [
              "HDD",
              "CDROM",
              "UNKNOWN"
            ]
          },
          "public": {
            "type": "boolean",
            "description": "Indicates whether the image is part of a public repository.",
            "readOnly": true,
            "example": true
          },
          "imageAliases": {
            "type": "array",
            "description": "List of image aliases mapped for this image",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          },
          "requiredFeatures": {
            "type": "array",
            "description": "The list of features required by this image. If `SEV-SNP` is part of this list, then the image supports Confidential Computing.",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          },
          "cloudInit": {
            "type": "string",
            "description": "Cloud init compatibility.",
            "example": "V1",
            "enum": [
              "NONE",
              "V1"
            ]
          }
        }
      },
      "ContractProperties": {
        "type": "object",
        "properties": {
          "contractNumber": {
            "type": "integer",
            "description": "The contract number.",
            "format": "int64",
            "readOnly": true,
            "example": 12345
          },
          "owner": {
            "type": "string",
            "description": "The contract owner's user name.",
            "readOnly": true,
            "example": "user@example.com"
          },
          "status": {
            "type": "string",
            "description": "The contract status.",
            "readOnly": true,
            "example": "BILLABLE"
          },
          "regDomain": {
            "type": "string",
            "description": "The registration domain of the contract.",
            "readOnly": true,
            "example": "ionos.de"
          },
          "resourceLimits": {
            "$ref": "#/components/schemas/ResourceLimits"
          }
        }
      },
      "Contract": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "resource",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "properties": {
            "$ref": "#/components/schemas/ContractProperties"
          }
        }
      },
      "Contracts": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "contracts"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/contracts"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Contract"
            }
          }
        }
      },
      "ResourceLimits": {
        "required": [
          "coresPerContract",
          "coresPerServer",
          "coresProvisioned",
          "dasVolumeProvisioned",
          "hddLimitPerContract",
          "hddLimitPerVolume",
          "hddVolumeProvisioned",
          "k8sClusterLimitTotal",
          "k8sClustersProvisioned",
          "natGatewayLimitTotal",
          "natGatewayProvisioned",
          "nlbLimitTotal",
          "nlbProvisioned",
          "ramPerContract",
          "ramPerServer",
          "ramProvisioned",
          "reservableIps",
          "reservedIpsInUse",
          "reservedIpsOnContract",
          "ssdLimitPerContract",
          "ssdLimitPerVolume",
          "ssdVolumeProvisioned",
          "securityGroupsPerVdc",
          "securityGroupsPerResource",
          "rulesPerSecurityGroup"
        ],
        "type": "object",
        "properties": {
          "coresPerServer": {
            "type": "integer",
            "description": "The maximum number of CPU cores per server.",
            "format": "int32",
            "example": 4
          },
          "coresPerContract": {
            "type": "integer",
            "description": "The maximum number of CPU cores per contract.",
            "format": "int32",
            "example": 8
          },
          "coresProvisioned": {
            "type": "integer",
            "description": "The number of CPU cores provisioned.",
            "format": "int32",
            "example": 7
          },
          "ramPerServer": {
            "type": "integer",
            "description": "The maximum amount of RAM (in MB) that can be provisioned for a particular server under this contract.",
            "format": "int32",
            "example": 20480
          },
          "ramPerContract": {
            "type": "integer",
            "description": "The maximum amount of RAM (in MB) that can be provisioned under this contract.",
            "format": "int32",
            "example": 20480
          },
          "ramProvisioned": {
            "type": "integer",
            "description": "The amount of RAM (in MB) provisioned under this contract.",
            "format": "int32",
            "example": 14336
          },
          "hddLimitPerVolume": {
            "type": "integer",
            "description": "The maximum size (in MB) of an idividual hard disk volume.",
            "format": "int64",
            "example": 614400
          },
          "hddLimitPerContract": {
            "type": "integer",
            "description": "The maximum amount of disk space (in MB) that can be provided under this contract.",
            "format": "int64",
            "example": 61440
          },
          "hddVolumeProvisioned": {
            "type": "integer",
            "description": "The amount of hard disk space (in MB) that is currently provisioned.",
            "format": "int64",
            "example": 10240
          },
          "ssdLimitPerVolume": {
            "type": "integer",
            "description": "The maximum size (in MB) of an individual solid state disk volume.",
            "format": "int64",
            "example": 614400
          },
          "ssdLimitPerContract": {
            "type": "integer",
            "description": "The maximum amount of solid state disk space (in MB) that can be provisioned under this contract.",
            "format": "int64",
            "example": 614400
          },
          "ssdVolumeProvisioned": {
            "type": "integer",
            "description": "The amount of solid state disk space (in MB) that is currently provisioned.",
            "format": "int64",
            "example": 204800
          },
          "dasVolumeProvisioned": {
            "type": "integer",
            "description": "The amount of DAS disk space (in MB) in a Cube server that is currently provisioned.",
            "format": "int64",
            "example": 51200
          },
          "reservableIps": {
            "type": "integer",
            "description": "The maximum number of static public IP addresses that can be reserved by this customer across contracts.",
            "format": "int32",
            "example": 1
          },
          "reservedIpsOnContract": {
            "type": "integer",
            "description": "The maximum number of static public IP addresses that can be reserved for this contract.",
            "format": "int32",
            "example": 1
          },
          "reservedIpsInUse": {
            "type": "integer",
            "description": "The number of static public IP addresses in use.",
            "format": "int32",
            "example": 0
          },
          "k8sClusterLimitTotal": {
            "type": "integer",
            "description": "The maximum number of Kubernetes clusters that can be created under this contract.",
            "format": "int32",
            "example": 5
          },
          "k8sClustersProvisioned": {
            "type": "integer",
            "description": "The amount of Kubernetes clusters that is currently provisioned.",
            "format": "int32",
            "example": 0
          },
          "nlbLimitTotal": {
            "type": "integer",
            "description": "The NLB total limit.",
            "format": "int32",
            "example": 5
          },
          "nlbProvisioned": {
            "type": "integer",
            "description": "The NLBs provisioned.",
            "format": "int32",
            "example": 0
          },
          "natGatewayLimitTotal": {
            "type": "integer",
            "description": "The NAT Gateway total limit.",
            "format": "int32",
            "example": 5
          },
          "natGatewayProvisioned": {
            "type": "integer",
            "description": "The NAT Gateways provisioned.",
            "format": "int32",
            "example": 0
          },
          "securityGroupsPerVdc": {
            "type": "integer",
            "description": "The maximum number of security groups per VDC.",
            "format": "int32",
            "example": 200
          },
          "securityGroupsPerResource": {
            "type": "integer",
            "description": "The maximum number of security groups that can be attached to a NIC or a VM individually. For example, a user can have maximum 10 security groups per NIC and 10 per VM.",
            "format": "int32",
            "example": 10
          },
          "rulesPerSecurityGroup": {
            "type": "integer",
            "description": "The maximum number of rules per security group.",
            "format": "int32",
            "example": 100
          }
        }
      },
      "BalancedNics": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Nic"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "DatacenterEntities": {
        "type": "object",
        "properties": {
          "servers": {
            "$ref": "#/components/schemas/Servers"
          },
          "volumes": {
            "$ref": "#/components/schemas/Volumes"
          },
          "loadbalancers": {
            "$ref": "#/components/schemas/Loadbalancers"
          },
          "lans": {
            "$ref": "#/components/schemas/Lans"
          },
          "networkloadbalancers": {
            "$ref": "#/components/schemas/NetworkLoadBalancers"
          },
          "natgateways": {
            "$ref": "#/components/schemas/NatGateways"
          },
          "securitygroups": {
            "$ref": "#/components/schemas/SecurityGroups"
          }
        }
      },
      "DatacenterProperties": {
        "required": [
          "location"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "Production datacenter"
          },
          "description": {
            "type": "string",
            "description": "A description for the datacenter, such as staging, production.",
            "example": "My Production Datacenter"
          },
          "location": {
            "type": "string",
            "description": "The physical location where the datacenter will be created. This will be where all of your servers live. Property cannot be modified after datacenter creation (disallowed in update requests).",
            "example": "us/las"
          },
          "version": {
            "type": "integer",
            "description": "The version of the data center; incremented with every change.",
            "format": "int32",
            "readOnly": true,
            "example": 8
          },
          "features": {
            "type": "array",
            "description": "List of features supported by the location where this data center is provisioned.",
            "readOnly": true,
            "example": [
              "SSD"
            ],
            "items": {
              "type": "string"
            }
          },
          "secAuthProtection": {
            "type": "boolean",
            "description": "Boolean value representing if the data center requires extra protection, such as two-step verification.",
            "example": true
          },
          "cpuArchitecture": {
            "type": "array",
            "description": "Array of features and CPU families available in a location",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/CpuArchitectureProperties"
            }
          },
          "gpuArchitecture": {
            "type": "array",
            "description": "The types of GPU cards that are available in the location where the data center is provisioned.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/GpuArchitectureProperties"
            }
          },
          "ipv6CidrBlock": {
            "type": "string",
            "description": "This value is either 'null' or contains an automatically-assigned /56 IPv6 CIDR block if IPv6 is enabled on this virtual data center. It can neither be changed nor removed.",
            "nullable": true,
            "readOnly": true,
            "example": "2001:db8:b06d:8f00::/56",
            "x-prerelease": true
          },
          "defaultSecurityGroupId": {
            "type": "string",
            "description": "Optional property to define the default security group of the datacenter.",
            "format": "uuid",
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          }
        }
      },
      "DatacenterPropertiesPost": {
        "required": [
          "location"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "Production Datacenter"
          },
          "description": {
            "type": "string",
            "description": "A description for the datacenter, such as staging, production.",
            "example": "My Production Datacenter"
          },
          "location": {
            "type": "string",
            "description": "The physical location where the datacenter will be created. This will be where all of your servers live. Property cannot be modified after datacenter creation (disallowed in update requests).",
            "example": "us/las"
          },
          "version": {
            "type": "integer",
            "description": "The version of the data center; incremented with every change.",
            "format": "int32",
            "readOnly": true,
            "example": 8
          },
          "features": {
            "type": "array",
            "description": "List of features supported by the location where this data center is provisioned.",
            "readOnly": true,
            "example": [
              "SSD"
            ],
            "items": {
              "type": "string"
            }
          },
          "secAuthProtection": {
            "type": "boolean",
            "description": "Boolean value representing if the data center requires extra protection, such as two-step verification.",
            "example": true
          },
          "cpuArchitecture": {
            "type": "array",
            "description": "Array of features and CPU families available in a location",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/CpuArchitectureProperties"
            }
          },
          "ipv6CidrBlock": {
            "type": "string",
            "description": "This value is either 'null' or contains an automatically-assigned /56 IPv6 CIDR block if IPv6 is enabled on this virtual data center. It can neither be changed nor removed.",
            "nullable": true,
            "readOnly": true,
            "example": "2001:db8:b06d:8f00::/56",
            "x-prerelease": true
          },
          "createDefaultSecurityGroup": {
            "type": "boolean",
            "description": "If true, a default security group, with predefined rules, will be created for the datacenter. Default value is false.",
            "example": true,
            "writeOnly": true
          }
        }
      },
      "DatacenterPropertiesPut": {
        "required": [
          "location"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "Production Datacenter"
          },
          "description": {
            "type": "string",
            "description": "A description for the datacenter, such as staging, production.",
            "example": "My Production Datacenter"
          },
          "location": {
            "type": "string",
            "description": "The physical location where the datacenter will be created. This will be where all of your servers live. Property cannot be modified after datacenter creation (disallowed in update requests).",
            "example": "us/las"
          },
          "version": {
            "type": "integer",
            "description": "The version of the data center; incremented with every change.",
            "format": "int32",
            "readOnly": true,
            "example": 8
          },
          "features": {
            "type": "array",
            "description": "List of features supported by the location where this data center is provisioned.",
            "readOnly": true,
            "example": [
              "SSD"
            ],
            "items": {
              "type": "string"
            }
          },
          "secAuthProtection": {
            "type": "boolean",
            "description": "Boolean value representing if the data center requires extra protection, such as two-step verification.",
            "example": true
          },
          "cpuArchitecture": {
            "type": "array",
            "description": "Array of features and CPU families available in a location",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/CpuArchitectureProperties"
            }
          },
          "ipv6CidrBlock": {
            "type": "string",
            "description": "This value is either 'null' or contains an automatically-assigned /56 IPv6 CIDR block if IPv6 is enabled on this virtual data center. It can neither be changed nor removed.",
            "nullable": true,
            "readOnly": true,
            "example": "2001:db8:b06d:8f00::/56",
            "x-prerelease": true
          },
          "defaultSecurityGroupId": {
            "description": "This will become the default security group for the datacenter, replacing the old one if already exists.  This security group must already exists prior to this request. Provide this field only if the `createDefaultSecurityGroup` field is missing. You cannot provide both of them",
            "type": "string",
            "format": "uuid",
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "createDefaultSecurityGroup": {
            "type": "boolean",
            "description": "If this field is set on true and this datacenter has no default security group then a default security group, with predefined rules, will be created for this datacenter. Default value is false.  Provide this field only if the `defaultSecurityGroupId` field is missing. You cannot provide both of them",
            "example": true,
            "writeOnly": true
          }
        }
      },
      "Datacenter": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "datacenter",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/DatacenterProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/DatacenterEntities"
          }
        }
      },
      "DatacenterPost": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/DatacenterPropertiesPost"
          },
          "entities": {
            "$ref": "#/components/schemas/DatacenterEntities"
          }
        }
      },
      "DatacenterPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/DatacenterPropertiesPut"
          },
          "entities": {
            "$ref": "#/components/schemas/DatacenterEntities"
          }
        }
      },
      "Datacenters": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Datacenter"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "FirewallRule": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "firewall-rule",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/FirewallruleProperties"
          }
        }
      },
      "FirewallRules": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/FirewallRule"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "FirewallruleProperties": {
        "required": [
          "protocol"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "My resource"
          },
          "protocol": {
            "type": "string",
            "description": "The protocol for the rule. Property cannot be modified after it is created (disallowed in update requests).",
            "example": "TCP",
            "enum": [
              "TCP",
              "UDP",
              "ICMP",
              "ICMPv6",
              "GRE",
              "VRRP",
              "ESP",
              "AH",
              "ANY"
            ]
          },
          "sourceMac": {
            "type": "string",
            "description": "Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. Value null allows traffic from any MAC address.",
            "nullable": true,
            "example": "00:0a:95:9d:68:16"
          },
          "ipVersion": {
            "type": "string",
            "description": "The IP version for this rule. If sourceIp or targetIp are specified, you can omit this value - the IP version will then be deduced from the IP address(es) used; if you specify it anyway, it must match the specified IP address(es). If neither sourceIp nor targetIp are specified, this rule allows traffic only for the specified IP version. If neither sourceIp, targetIp nor ipVersion are specified, this rule will only allow IPv4 traffic.",
            "nullable": true,
            "example": "IPv4",
            "enum": [
              "IPv4",
              "IPv6"
            ]
          },
          "sourceIp": {
            "type": "string",
            "description": "Only traffic originating from the respective IP address (or CIDR block) is allowed. Value null allows traffic from any IP address (according to the selected ipVersion).",
            "nullable": true,
            "example": "22.231.113.64"
          },
          "targetIp": {
            "type": "string",
            "description": "If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address (or CIDR block) of the NIC is allowed. Value null allows traffic to any target IP address (according to the selected ipVersion).",
            "nullable": true,
            "example": "22.231.113.64"
          },
          "icmpCode": {
            "maximum": 254,
            "minimum": 0,
            "type": "integer",
            "description": "Defines the allowed code (from 0 to 254) if protocol ICMP or ICMPv6 is chosen. Value null allows all codes.",
            "format": "int32",
            "nullable": true,
            "example": 0
          },
          "icmpType": {
            "maximum": 254,
            "minimum": 0,
            "type": "integer",
            "description": "Defines the allowed type (from 0 to 254) if the protocol ICMP or ICMPv6 is chosen. Value null allows all types.",
            "format": "int32",
            "nullable": true,
            "example": 8
          },
          "portRangeStart": {
            "maximum": 65535,
            "minimum": 1,
            "type": "integer",
            "description": "Defines the start range of the allowed port (from 1 to 65535) if protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd value null to allow all ports.",
            "format": "int32",
            "example": 8
          },
          "portRangeEnd": {
            "maximum": 65535,
            "minimum": 1,
            "type": "integer",
            "description": "Defines the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.",
            "format": "int32",
            "example": 8
          },
          "type": {
            "type": "string",
            "description": "The type of the firewall rule. If not specified, the default INGRESS value is used.",
            "example": "INGRESS",
            "enum": [
              "INGRESS",
              "EGRESS"
            ]
          }
        }
      },
      "FlowLog": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "flow-log",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/FlowLogProperties"
          }
        }
      },
      "FlowLogPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "flow-log",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "properties": {
            "$ref": "#/components/schemas/FlowLogProperties"
          }
        }
      },
      "FlowLogs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/FlowLog"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "FlowLogProperties": {
        "required": [
          "action",
          "bucket",
          "direction",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The resource name.",
            "example": "My resource"
          },
          "action": {
            "type": "string",
            "description": "Specifies the traffic action pattern.",
            "example": "ACCEPTED",
            "enum": [
              "ACCEPTED",
              "REJECTED",
              "ALL"
            ]
          },
          "direction": {
            "type": "string",
            "description": "Specifies the traffic direction pattern.",
            "example": "INGRESS",
            "enum": [
              "INGRESS",
              "EGRESS",
              "BIDIRECTIONAL"
            ]
          },
          "bucket": {
            "type": "string",
            "description": "The bucket name of an existing IONOS Cloud Object storage bucket.",
            "example": "bucketName/key"
          }
        }
      },
      "IPFailover": {
        "type": "object",
        "properties": {
          "ip": {
            "type": "string",
            "example": "192.18.2.231"
          },
          "nicUuid": {
            "type": "string",
            "example": "3c11273c-b3e1-4ca3-8134-84fd2dd4ebec"
          }
        }
      },
      "LanEntities": {
        "type": "object",
        "properties": {
          "nics": {
            "$ref": "#/components/schemas/LanNics"
          }
        }
      },
      "LanNics": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Nic"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "LanProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "My resource"
          },
          "ipFailover": {
            "type": "array",
            "description": "IP failover configurations for lan",
            "items": {
              "$ref": "#/components/schemas/IPFailover"
            }
          },
          "ipv4CidrBlock": {
            "type": "string",
            "description": "For public LANs this property is null, for private LANs it contains the private IPv4 CIDR range. This property is a read only property.",
            "readOnly": true,
            "nullable": true,
            "example": "10.8.130.0/23",
            "x-prerelease": true
          },
          "ipv6CidrBlock": {
            "type": "string",
            "description": "For a GET request, this value is either 'null' or contains the LAN's /64 IPv6 CIDR block if this LAN is IPv6 enabled. For POST/PUT/PATCH requests, 'AUTO' will result in enabling this LAN for IPv6 and automatically assign a /64 IPv6 CIDR block to this LAN and /80 IPv6 CIDR blocks to the NICs and one /128 IPv6 address to each connected NIC. If you choose the IPv6 CIDR block for the LAN on your own, then you must provide a /64 block, which is inside the IPv6 CIDR block of the virtual datacenter and unique inside all LANs from this virtual datacenter. If you enable IPv6 on a LAN with NICs, those NICs will get a /80 IPv6 CIDR block and one IPv6 address assigned to each automatically, unless you specify them explicitly on the LAN and on the NICs. A virtual data center is limited to a maximum of 256 IPv6-enabled LANs.",
            "nullable": true,
            "example": "2001:db8:b06d:8f5a::/64",
            "x-prerelease": true
          },
          "pcc": {
            "type": "string",
            "description": "The unique identifier of the Cross Connect the LAN is connected to, if any. It needs to be ensured that IP addresses of the NICs of all LANs connected to a given Cross Connect is not duplicated and belongs to the same subnet range.",
            "example": "3c11273c-b3e1-4ca3-8134-84fd2dd4ebec"
          },
          "public": {
            "type": "boolean",
            "description": "Indicates if the LAN is connected to the internet or not.",
            "example": true
          },
          "vni": {
            "type": "integer",
            "format": "int32",
            "readOnly": true,
            "x-internal": true,
            "description": "The VNI value that is assigned to the LAN.",
            "example": 123
          }
        }
      },
      "Lan": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "5"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "lan",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/LanProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/LanEntities"
          }
        }
      },
      "Lans": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Lan"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "Loadbalancer": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "loadbalancer",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/LoadbalancerProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/LoadbalancerEntities"
          }
        }
      },
      "LoadbalancerEntities": {
        "type": "object",
        "properties": {
          "balancednics": {
            "$ref": "#/components/schemas/BalancedNics"
          }
        }
      },
      "LoadbalancerProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "My resource"
          },
          "ip": {
            "type": "string",
            "description": "IPv4 address of the loadbalancer. All attached NICs will inherit this IP. Leaving value null will assign IP automatically.",
            "nullable": true,
            "example": "22.231.113.64"
          },
          "dhcp": {
            "type": "boolean",
            "description": "Indicates if the loadbalancer will reserve an IP using DHCP.",
            "example": true
          }
        }
      },
      "Loadbalancers": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Loadbalancer"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "Nic": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "nic",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/NicProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/NicEntities"
          }
        }
      },
      "NicEntities": {
        "type": "object",
        "properties": {
          "flowlogs": {
            "$ref": "#/components/schemas/FlowLogs"
          },
          "firewallrules": {
            "$ref": "#/components/schemas/FirewallRules"
          },
          "securitygroups": {
            "$ref": "#/components/schemas/SecurityGroups"
          }
        }
      },
      "NicProperties": {
        "required": [
          "lan"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "My resource"
          },
          "mac": {
            "type": "string",
            "description": "The MAC address of the NIC.",
            "example": "00:0a:95:9d:68:16"
          },
          "ips": {
            "type": "array",
            "description": "Collection of IP addresses, assigned to the NIC. Explicitly assigned public IPs need to come from reserved IP blocks. Passing value null or empty array will assign an IP address automatically.",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "example": [
              "10.160.12.12"
            ]
          },
          "dhcp": {
            "type": "boolean",
            "description": "Indicates if the NIC will reserve an IP using DHCP.",
            "example": true,
            "default": true
          },
          "ipv6Ips": {
            "type": "array",
            "description": "If this NIC is connected to an IPv6 enabled LAN then this property contains the IPv6 IP addresses of the NIC. The maximum number of IPv6 IP addresses per NIC is 50, if you need more, contact support. If you leave this property 'null' when adding a NIC, when changing the NIC's IPv6 CIDR block, when changing the LAN's IPv6 CIDR block or when moving the NIC to a different IPv6 enabled LAN, then we will automatically assign the same number of IPv6 addresses which you had before from the NICs new CIDR block. If you leave this property 'null' while not changing the CIDR block, the IPv6 IP addresses won't be changed either. You can also provide your own self choosen IPv6 addresses, which then must be inside the IPv6 CIDR block of this NIC.",
            "nullable": true,
            "example": [
              "2001:db8:b06d:8f5a:0609::1"
            ],
            "items": {
              "type": "string"
            },
            "x-prerelease": true
          },
          "ipv6CidrBlock": {
            "type": "string",
            "description": "If this NIC is connected to an IPv6 enabled LAN then this property contains the /80 IPv6 CIDR block of the NIC. If you leave this property 'null' when adding a NIC to an IPv6-enabled LAN, then an IPv6 CIDR block will automatically be assigned to the NIC, but you can also specify an /80 IPv6 CIDR block for the NIC on your own, which must be inside the /64 IPv6 CIDR block of the LAN and unique. This value can only be set, if the LAN already has an IPv6 CIDR block assigned. An IPv6-enabled LAN is limited to a maximum of 65,536 NICs.",
            "nullable": true,
            "example": "2001:db8:b06d:8f5a:0609::/80",
            "x-prerelease": true
          },
          "dhcpv6": {
            "type": "boolean",
            "description": "Indicates if the NIC will receive an IPv6 using DHCP. It can be set to 'true' or 'false' only if this NIC is connected to an IPv6 enabled LAN.",
            "nullable": true,
            "example": true,
            "default": true,
            "x-prerelease": true
          },
          "lan": {
            "type": "integer",
            "description": "The LAN ID the NIC will be on. If the LAN ID does not exist, it will be implicitly created.",
            "format": "int32",
            "example": 2
          },
          "firewallActive": {
            "type": "boolean",
            "description": "Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.",
            "example": false
          },
          "firewallType": {
            "type": "string",
            "description": "The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.",
            "example": "INGRESS",
            "enum": [
              "INGRESS",
              "EGRESS",
              "BIDIRECTIONAL"
            ]
          },
          "deviceNumber": {
            "type": "integer",
            "description": "The Logical Unit Number (LUN) of the storage volume. Null if this NIC was created using Cloud API and no DCD changes were performed on the Datacenter.",
            "format": "int32",
            "readOnly": true,
            "example": 3
          },
          "pciSlot": {
            "type": "integer",
            "description": "The PCI slot number for the NIC.",
            "format": "int32",
            "readOnly": true,
            "example": 7
          },
          "vnet": {
            "type": "string",
            "description": "The vnet ID that belongs to this NIC; Requires system privileges, for internal usage only",
            "x-internal": true,
            "example": null
          }
        }
      },
      "Nics": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "items": {
              "$ref": "#/components/schemas/Nic"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "NicPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "nic",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "properties": {
            "$ref": "#/components/schemas/NicProperties"
          }
        }
      },
      "ResourceReference": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier."
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "resource",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          }
        }
      },
      "ListOfIds": {
        "required": [
          "ids"
        ],
        "properties": {
          "ids": {
            "type": "array",
            "description": "The list of IDs",
            "items": {
              "type": "string",
              "format": "uuid",
              "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
            },
            "example": [
              "ac51b8e4-050c-4941-b7cd-43923422fe6e",
              "ea737d87-8754-4a42-b97c-0b1a8f619de5"
            ]
          }
        }
      },
      "ServerEntities": {
        "type": "object",
        "properties": {
          "cdroms": {
            "$ref": "#/components/schemas/Cdroms"
          },
          "volumes": {
            "$ref": "#/components/schemas/AttachedVolumes"
          },
          "nics": {
            "$ref": "#/components/schemas/Nics"
          },
          "securitygroups": {
            "$ref": "#/components/schemas/SecurityGroups"
          },
          "gpus": {
            "$ref": "#/components/schemas/GPUs"
          }
        }
      },
      "ServerProperties": {
        "type": "object",
        "properties": {
          "templateUuid": {
            "type": "string",
            "description": "The ID of the template for creating CUBE or GPU servers. If a template has GPU cards assigned, then it can only be used to create GPU servers, otherwise it can only be used for CUBE servers. The available templates can be found on the templates resource.",
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "My resource"
          },
          "hostname": {
            "type": "string",
            "description": "The hostname of the  resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.",
            "example": "myHostname"
          },
          "cores": {
            "type": "integer",
            "description": "The total number of cores for the server. It can not be supplied for the VMs that have to be created based on templates. For servers with Confidential Computing enabled, the number of cores must match the amount of cores required by the Confidential Computing image, and this field is immutable once the server has been created — update requests attempting to change it will be rejected.",
            "format": "int32",
            "example": 4
          },
          "ram": {
            "type": "integer",
            "description": "The memory size for the server in MB, such as 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB. It can not be supplied for the VMs that have to be created based on templates. For servers with Confidential Computing enabled, this field is immutable once the server has been created — update requests attempting to change it will be rejected.",
            "format": "int32",
            "example": 4096
          },
          "availabilityZone": {
            "type": "string",
            "description": "The availability zone in which the server should be provisioned. For CUBE and GPU servers, the only value accepted is 'AUTO'. For servers with Confidential Computing enabled, this field is immutable once the server has been created — update requests attempting to change it will be rejected.",
            "example": "AUTO",
            "enum": [
              "AUTO",
              "ZONE_1",
              "ZONE_2"
            ]
          },
          "vmState": {
            "type": "string",
            "description": "Status of the virtual machine.",
            "readOnly": true,
            "example": "RUNNING",
            "enum": [
              "NOSTATE",
              "RUNNING",
              "BLOCKED",
              "PAUSED",
              "SHUTDOWN",
              "SHUTOFF",
              "CRASHED",
              "SUSPENDED"
            ]
          },
          "bootCdrom": {
            "description": "Reference to a CD-ROM used as boot device. Forbidden when the server has a volume whose image is a Confidential Computing image: such a server must boot from that volume and cannot boot from a CD-ROM. On servers with Confidential Computing enabled this field is immutable — update requests attempting to change it will be rejected.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceReference"
              }
            ]
          },
          "bootVolume": {
            "description": "Reference to a volume used as boot device. If the server has a volume with a Confidential Computing image, that volume — and only that volume — is eligible as the boot volume. Setting `bootVolume` to any other volume is rejected. If `bootVolume` is not provided on a server that has a Confidential Computing volume, that volume is automatically selected as the boot device. On servers with Confidential Computing enabled this field is immutable once the server has been created — update requests attempting to change it will be rejected.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceReference"
              }
            ]
          },
          "cpuFamily": {
            "type": "string",
            "description": "CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource; must not be provided for CUBE and VCPU servers. If the field is omitted from the request or the value is empty or null, an available CPU architecture will be automatically selected. This field must not be supplied when creating a server with Confidential Computing enabled (i.e. when one of the attached volumes uses a confidential computing image); in that case the CPU family is determined by the image and is selected automatically. On servers with Confidential Computing enabled this field is also immutable — update requests attempting to change it will be rejected.",
            "example": "INTEL_ICELAKE"
          },
          "type": {
            "type": "string",
            "description": "Server type: CUBE, ENTERPRISE, VCPU or GPU. Confidential Computing can be enabled only on a server of type ENTERPRISE by creating it with a volume with a Confidential Computing image.",
            "example": "CUBE"
          },
          "enabledFeatures": {
            "type": "array",
            "description": "The list of features enabled on this server. An ENTERPRISE server with Confidential Computing enabled will have `SEV-SNP` as part of this list.",
            "readOnly": true,
            "items": {
              "type": "string"
            },
            "example": [
              "SEV-SNP"
            ]
          },
          "placementGroupId": {
            "type": "string",
            "description": "The placement group ID that belongs to this server; Requires system privileges, for internal usage only",
            "x-internal": true,
            "example": null
          },
          "nicMultiQueue": {
            "type": "boolean",
            "description": "Activate or deactivate the Multi Queue feature on all NICs of this server. This feature is beneficial to  enable when the NICs are experiencing performance issues (e.g. low throughput). Toggling this feature will also initiate a restart of the server. If the specified value is `true`, the feature will  be activated; if it is not specified or set to `false`, the feature will be deactivated. It is not allowed for servers of type Cube.",
            "example": true
          },
          "maxNetworkBandwidth": {
            "type": "number",
            "description": "The maximum bandwidth in Gbps as specified by NQoS tiers",
            "readOnly": true,
            "format": "float",
            "example": 6.0
          }
        }
      },
      "GroupEntities": {
        "type": "object",
        "description": "Collection of entity references associated with a group.",
        "properties": {
          "users": {
            "$ref": "#/components/schemas/GroupMembersRef"
          },
          "resources": {
            "$ref": "#/components/schemas/ResourceGroupsRef"
          }
        }
      },
      "S3KeyProperties": {
        "type": "object",
        "properties": {
          "secretKey": {
            "type": "string",
            "description": "Secret of the Object storage key.",
            "readOnly": true,
            "example": "tFVkUARsoeCdntQs2jVSyGG6TMPfPZ+ghnsWj/gG"
          },
          "active": {
            "type": "boolean",
            "description": "Denotes weather the Object storage key is active."
          }
        }
      },
      "GroupUsers": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "group",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/users/9b1b4c62-1466-11e7-87d3-d7bb7dac0087/groups"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Group"
            }
          }
        },
        "description": "Collection of the groups the user is a member of."
      },
      "Group": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "group",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/groups/15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "properties": {
            "$ref": "#/components/schemas/GroupProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/GroupEntities"
          }
        }
      },
      "S3Key": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "group",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/users/15f67991-0f51-4efc-a8ad-ef1fb31a480c/s3keys/78fa888e106456c1482d"
          },
          "metadata": {
            "$ref": "#/components/schemas/S3KeyMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/S3KeyProperties"
          }
        }
      },
      "Groups": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "group",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/groups"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Group"
            }
          }
        }
      },
      "ResourceEntities": {
        "type": "object",
        "properties": {
          "groups": {
            "$ref": "#/components/schemas/ResourceGroups"
          }
        }
      },
      "ResourceGroups": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/groups/30740c22-1def-11e7-aac9-d7a3646ca7fd/resources"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Resource"
            }
          }
        },
        "description": "Resources assigned to this group."
      },
      "Resource": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "group",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/resources/datacenter/15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/ResourceProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/ResourceEntities"
          }
        },
        "description": "datacenter resource representation"
      },
      "ResourcesUsers": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/users/9b1b4c62-1466-11e7-87d3-d7bb7dac0087/owns"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Resource"
            }
          }
        },
        "description": "Resources owned by a user."
      },
      "UserMetadata": {
        "type": "object",
        "properties": {
          "etag": {
            "type": "string",
            "description": "Resource's Entity Tag as defined in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.11  Entity Tag is also added as an 'ETag response header to requests which don't use 'depth' parameter.",
            "readOnly": true,
            "example": "45480eb3fbfc31f1d916c1eaa4abdcc3"
          },
          "createdDate": {
            "type": "string",
            "description": "The time the user was created.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "createdBy": {
            "type": "string",
            "description": "The user who has created the resource.",
            "readOnly": true,
            "example": "user@example.com"
          },
          "createdByUserId": {
            "type": "string",
            "description": "The unique ID of the user who created the resource.",
            "readOnly": true,
            "example": "63cef532-26fe-4a64-a4e0-de7c8a506c90"
          },
          "lastModifiedDate": {
            "type": "string",
            "description": "The last time the resource was modified.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "lastModifiedBy": {
            "type": "string",
            "description": "The user who last modified the resource.",
            "readOnly": true,
            "example": "user@example.com"
          },
          "lastModifiedByUserId": {
            "type": "string",
            "description": "The unique ID of the user who last modified the resource.",
            "readOnly": true,
            "example": "63cef532-26fe-4a64-a4e0-de7c8a506c90"
          },
          "lastLogin": {
            "type": "string",
            "description": "The time of the last login by the user.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          }
        }
      },
      "ResourceProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the resource."
          },
          "secAuthProtection": {
            "type": "boolean",
            "description": "Boolean value representing if the resource is multi factor protected or not e.g. using two factor protection. Currently only data centers and snapshots are allowed to be multi factor protected, The value of attribute if null is intentional and it means that the resource doesn't support multi factor protection at all.",
            "example": true
          }
        }
      },
      "UserProperties": {
        "type": "object",
        "properties": {
          "firstname": {
            "type": "string",
            "description": "The first name of the user."
          },
          "lastname": {
            "type": "string",
            "description": "The last name of the user."
          },
          "email": {
            "type": "string",
            "description": "The email address of the user."
          },
          "administrator": {
            "type": "boolean",
            "description": "Indicates if the user has admin rights."
          },
          "forceSecAuth": {
            "type": "boolean",
            "description": "Indicates if secure authentication should be forced on the user."
          },
          "secAuthActive": {
            "type": "boolean",
            "description": "Indicates if secure authentication is active for the user."
          },
          "s3CanonicalUserId": {
            "type": "string",
            "description": "Canonical (Object storage) ID of the user for a given identity."
          },
          "active": {
            "type": "boolean",
            "description": "Indicates if the user is active."
          }
        }
      },
      "UserPropertiesPut": {
        "type": "object",
        "properties": {
          "firstname": {
            "type": "string",
            "description": "The first name of the user."
          },
          "lastname": {
            "type": "string",
            "description": "The last name of the user."
          },
          "email": {
            "type": "string",
            "description": "The email address of the user."
          },
          "password": {
            "type": "string",
            "description": "password of the user"
          },
          "administrator": {
            "type": "boolean",
            "description": "Indicates if the user has admin rights."
          },
          "forceSecAuth": {
            "type": "boolean",
            "description": "Indicates if secure authentication should be forced on the user."
          },
          "secAuthActive": {
            "type": "boolean",
            "description": "Indicates if secure authentication is active for the user."
          },
          "active": {
            "type": "boolean",
            "description": "Indicates if the user is active."
          }
        }
      },
      "UserPropertiesPost": {
        "type": "object",
        "properties": {
          "firstname": {
            "type": "string",
            "description": "The first name of the user."
          },
          "lastname": {
            "type": "string",
            "description": "The last name of the user."
          },
          "email": {
            "type": "string",
            "description": "The email address of the user."
          },
          "administrator": {
            "type": "boolean",
            "description": "Indicates if the user has admin rights."
          },
          "forceSecAuth": {
            "type": "boolean",
            "description": "Indicates if secure authentication should be forced on the user."
          },
          "secAuthActive": {
            "type": "boolean",
            "description": "Indicates if secure authentication is active for the user."
          },
          "password": {
            "type": "string",
            "description": "User password."
          },
          "active": {
            "type": "boolean",
            "description": "Indicates if the user is active."
          }
        }
      },
      "User": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "user",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/UserMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/UserProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/UsersEntities"
          }
        }
      },
      "UserGroupPost": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          }
        }
      },
      "UserPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "properties": {
            "$ref": "#/components/schemas/UserPropertiesPut"
          }
        }
      },
      "UserPost": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/UserPropertiesPost"
          }
        }
      },
      "UsersEntities": {
        "type": "object",
        "description": "Collection of entity references associated with a user.",
        "properties": {
          "owns": {
            "$ref": "#/components/schemas/ResourcesUsersRef"
          },
          "groups": {
            "$ref": "#/components/schemas/GroupUsersRef"
          },
          "s3Keys": {
            "$ref": "#/components/schemas/S3KeysRef"
          }
        }
      },
      "GroupMembers": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/groups/30740c22-1def-11e7-aac9-d7a3646ca7fd/users"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/User"
            }
          }
        }
      },
      "GroupProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the resource.",
            "example": "My resource"
          },
          "createDatacenter": {
            "type": "boolean",
            "description": "Create data center privilege."
          },
          "createSnapshot": {
            "type": "boolean",
            "description": "Create snapshot privilege."
          },
          "reserveIp": {
            "type": "boolean",
            "description": "Reserve IP block privilege."
          },
          "accessActivityLog": {
            "type": "boolean",
            "description": "Activity log access privilege."
          },
          "createPcc": {
            "type": "boolean",
            "description": "User privilege to create a cross connect."
          },
          "s3Privilege": {
            "type": "boolean",
            "description": "S3 privilege."
          },
          "createBackupUnit": {
            "type": "boolean",
            "description": "Create backup unit privilege."
          },
          "createInternetAccess": {
            "type": "boolean",
            "description": "Create internet access privilege."
          },
          "createK8sCluster": {
            "type": "boolean",
            "description": "Create Kubernetes cluster privilege."
          },
          "createFlowLog": {
            "type": "boolean",
            "description": "Create Flow Logs privilege."
          },
          "accessAndManageMonitoring": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage monitoring related functionality (access metrics, CRUD on alarms, alarm-actions etc) using Monotoring-as-a-Service (MaaS)."
          },
          "accessAndManageCertificates": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage certificates."
          },
          "manageDBaaS": {
            "type": "boolean",
            "description": "Privilege for a group to manage DBaaS related functionality."
          },
          "accessAndManageDns": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage dns records."
          },
          "manageRegistry": {
            "type": "boolean",
            "description": "Privilege for group accessing container registry related functionality."
          },
          "manageDataplatform": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage the Data Platform."
          },
          "accessAndManageLogging": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage Logs."
          },
          "accessAndManageCdn": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage CDN."
          },
          "accessAndManageVpn": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage VPN."
          },
          "accessAndManageApiGateway": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage API Gateway."
          },
          "accessAndManageKaas": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage KaaS."
          },
          "accessAndManageNetworkFileStorage": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage Network File Storage."
          },
          "accessAndManageAiModelHub": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage AI Model Hub."
          },
          "accessAndManageIamResources": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage Password Policies."
          },
          "createNetworkSecurityGroups": {
            "type": "boolean",
            "description": "Privilege for a group to access and manage Network Security Groups."
          }
        }
      },
      "GroupShare": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "resource as generic type",
            "example": "resource",
            "readOnly": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/groups/15f67991-0f51-4efc-a8ad-ef1fb31a480c/shares/17faab13-13abc-4efc-a8ad-ef1fb31a481b"
          },
          "properties": {
            "$ref": "#/components/schemas/GroupShareProperties"
          }
        }
      },
      "GroupShareProperties": {
        "type": "object",
        "properties": {
          "editPrivilege": {
            "type": "boolean",
            "description": "edit privilege on a resource"
          },
          "sharePrivilege": {
            "type": "boolean",
            "description": "share privilege on a resource"
          }
        }
      },
      "GroupShares": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "Share representing groups and resource relationship",
            "example": "resource",
            "readOnly": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/groups/15f67991-0f51-4efc-a8ad-ef1fb31a480c/shares"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/GroupShare"
            }
          }
        }
      },
      "Images": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Image"
            }
          }
        }
      },
      "IpBlock": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "ipblock",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/IpBlockProperties"
          }
        }
      },
      "IpBlockProperties": {
        "required": [
          "location",
          "size"
        ],
        "type": "object",
        "properties": {
          "ips": {
            "type": "array",
            "description": "Collection of IPs, associated with the IP Block.",
            "readOnly": true,
            "example": [
              "22.231.113.64",
              "22.231.113.65",
              "22.231.113.66"
            ],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "type": "string",
            "description": "Location of that IP block. Property cannot be modified after it is created (disallowed in update requests).",
            "example": "us/las"
          },
          "size": {
            "type": "integer",
            "description": "The size of the IP block.",
            "format": "int32",
            "example": 5
          },
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "My resource"
          },
          "ipConsumers": {
            "type": "array",
            "description": "Read-Only attribute. Lists consumption detail for an individual IP",
            "readOnly": true,
            "example": [
              {
                "ip": "192.18.2.11",
                "mac": "02:01:3f:52:6e:57",
                "nicId": "0e8ee463-1174-46f2-87ba-a5c79c14d8e5",
                "serverId": "e6a3466f-8d6e-4cb6-8001-f4e245f222b7",
                "serverName": "Unnamed Server",
                "datacenterId": "6e54a9ec-aace-4176-8ee4-1c3a704fccfc",
                "datacenterName": "IpConsumerDC",
                "k8sNodePoolUuid": "6e54a9ec-aace-4176-8ee4-1c3a704fcc12",
                "k8sClusterUuid": "6e54a9ec-aace-4176-8ee4-1c3a704fcc23"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/IpConsumer"
            }
          }
        }
      },
      "IpBlocks": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/IpBlock"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetMandatory"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitMandatory"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "LocationProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The location name.",
            "example": "berlin"
          },
          "features": {
            "type": "array",
            "description": "A list of available features in the location.",
            "readOnly": true,
            "example": [
              "cloud-init-private-image",
              "ssd",
              "vnf-nat"
            ],
            "items": {
              "type": "string"
            }
          },
          "imageAliases": {
            "type": "array",
            "description": "A list of image aliases available in the location.",
            "readOnly": true,
            "example": [
              "windows:2012r2_iso",
              "windows:2019_iso",
              "ubuntu:18.04_iso"
            ],
            "items": {
              "type": "string"
            }
          },
          "cpuArchitecture": {
            "type": "array",
            "description": "A list of available CPU types and related resources available in the location.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/CpuArchitectureProperties"
            }
          },
          "gpuArchitecture": {
            "type": "array",
            "description": "The types of GPU cards that are available in the location.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/GpuArchitectureProperties"
            }
          }
        }
      },
      "CpuArchitectureProperties": {
        "type": "object",
        "properties": {
          "cpuFamily": {
            "type": "string",
            "description": "A valid CPU family name.",
            "example": "INTEL_ICELAKE"
          },
          "maxCores": {
            "type": "integer",
            "description": "The maximum number of cores available.",
            "format": "int32",
            "example": 62
          },
          "maxRam": {
            "type": "integer",
            "description": "The maximum RAM size in MB.",
            "format": "int32",
            "example": 245760
          },
          "vendor": {
            "type": "string",
            "description": "A valid CPU vendor name.",
            "example": "AuthenticAMD"
          },
          "enabledFeatures": {
            "type": "array",
            "description": "A list of enabled CPU features.",
            "items": {
              "type": "string"
            },
            "example": [
              "SEV-SNP"
            ]
          }
        }
      },
      "GpuArchitectureProperties": {
        "type": "object",
        "properties": {
          "vendor": {
            "type": "string",
            "description": "The vendor of the Graphics Processing Unit (GPU) card.",
            "example": "NVIDIA"
          },
          "model": {
            "type": "string",
            "description": "The model of the Graphics Processing Unit (GPU) card.",
            "example": "A100"
          }
        }
      },
      "Location": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "location",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/locations/de"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/LocationProperties"
          }
        }
      },
      "Locations": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/locations"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Location"
            }
          }
        }
      },
      "ConnectableDatacenter": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the virtual data center that can be connected to the Cross Connect."
          },
          "name": {
            "type": "string",
            "description": "Name of the virtual data center that can be connected to the Cross Connect."
          },
          "location": {
            "type": "string",
            "description": "Location of the virtual data center that can be connected to the Cross Connect."
          }
        }
      },
      "Peer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the LAN connected to the Cross Connect."
          },
          "name": {
            "type": "string",
            "description": "Name of the LAN connected to the Cross Connect."
          },
          "datacenterId": {
            "type": "string",
            "description": "Identifier of the virtual data center connected to the Cross Connect."
          },
          "datacenterName": {
            "type": "string",
            "description": "Name of the virtual data center connected to the Cross Connect."
          },
          "location": {
            "type": "string",
            "description": "Location of the virtual data center connected to the Cross Connect."
          }
        }
      },
      "IpConsumer": {
        "type": "object",
        "properties": {
          "ip": {
            "type": "string"
          },
          "mac": {
            "type": "string"
          },
          "nicId": {
            "type": "string"
          },
          "serverId": {
            "type": "string"
          },
          "serverName": {
            "type": "string"
          },
          "datacenterId": {
            "type": "string"
          },
          "datacenterName": {
            "type": "string"
          },
          "k8sNodePoolUuid": {
            "type": "string"
          },
          "k8sClusterUuid": {
            "type": "string"
          }
        }
      },
      "PrivateCrossConnectProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the Cross Connect.",
            "example": "My resource"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the Cross Connect.",
            "example": "Cross Connect between datacenter 'A' and datacenter 'B' "
          },
          "peers": {
            "type": "array",
            "description": "Read-Only attribute. Lists LAN's connected to this Cross Connect.",
            "readOnly": true,
            "example": [
              {
                "id": "<lan-id>",
                "name": "<lan-name>",
                "datacenterId": "<dc-uuid>",
                "datacenterName": "<dc-name>",
                "location": "<de/fra>"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/Peer"
            }
          },
          "connectableDatacenters": {
            "type": "array",
            "description": "Read-Only attribute. Lists data centers that can be connected to this Cross Connect. If the Cross Connect is not connected to any LANs, it lists all VDCs the user has access to. Once one LAN is connected to the Cross Connect, only LANs of the related locations can be used.",
            "readOnly": true,
            "example": [
              {
                "id": "<dc-id>",
                "name": "<dc-name>",
                "location": "<de/fra>"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/ConnectableDatacenter"
            }
          }
        }
      },
      "PrivateCrossConnect": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "pcc",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/PrivateCrossConnectProperties"
          }
        }
      },
      "PrivateCrossConnects": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/PrivateCrossConnect"
            }
          }
        }
      },
      "RequestStatus": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "request-status",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/RequestStatusMetadata"
          }
        }
      },
      "RequestStatusMetadata": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "QUEUED",
              "RUNNING",
              "DONE",
              "FAILED"
            ]
          },
          "message": {
            "type": "string"
          },
          "etag": {
            "type": "string",
            "description": "Resource's Entity Tag as defined in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.11  Entity Tag is also added as an 'ETag response header to requests which don't use 'depth' parameter.",
            "readOnly": true,
            "example": "45480eb3fbfc31f1d916c1eaa4abdcc3"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequestTarget"
            }
          }
        }
      },
      "RequestTarget": {
        "type": "object",
        "properties": {
          "target": {
            "$ref": "#/components/schemas/ResourceReference"
          },
          "status": {
            "type": "string",
            "enum": [
              "QUEUED",
              "RUNNING",
              "DONE",
              "FAILED"
            ]
          }
        }
      },
      "Request": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "request",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/RequestMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/RequestProperties"
          }
        }
      },
      "RequestMetadata": {
        "type": "object",
        "properties": {
          "createdDate": {
            "type": "string",
            "description": "The last time the resource was created.",
            "format": "date-time",
            "readOnly": true,
            "example": "2015-12-04T14:34:09.809Z"
          },
          "createdBy": {
            "type": "string",
            "description": "The user who created the resource.",
            "readOnly": true,
            "example": "user@example.com"
          },
          "etag": {
            "type": "string",
            "description": "Resource's Entity Tag as defined in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.11  Entity Tag is also added as an 'ETag response header to requests which don't use 'depth' parameter.",
            "readOnly": true,
            "example": "45480eb3fbfc31f1d916c1eaa4abdcc3"
          },
          "requestStatus": {
            "$ref": "#/components/schemas/RequestStatus"
          }
        }
      },
      "RequestProperties": {
        "type": "object",
        "properties": {
          "method": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "body": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      },
      "Requests": {
        "required": [
          "_links",
          "limit",
          "offset"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "requests"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Request"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetMandatory"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitMandatory"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "Resources": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/resources"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Resource"
            }
          }
        },
        "description": "Collection to represent the resource."
      },
      "Info": {
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "description": "The API entry point.",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/"
          },
          "name": {
            "type": "string",
            "description": "The API name.",
            "readOnly": true,
            "example": "CLOUD API"
          },
          "version": {
            "type": "string",
            "description": "The API version.",
            "readOnly": true,
            "example": "6.0"
          }
        }
      },
      "Token": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "The jwToken for the server.",
            "readOnly": true,
            "example": "eyJ0eXAiOiJKV1QiLCJraWQiOiI0MWM1MDFlNC03NGY3LTQwYjctYmMxMi1lZWIzMTAzNThlZDkiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpb25vc2Nsb3VkIiwiaWF0IjoxNjAyNDg5NTkzMDcxLCJzZXJ2ZXIiOnsidXVpZCI6IjMwNGEwZGVlLWE3OTgtNDNhNi04MzIyLTk3M2NiYzc3Yjg4ZCIsIm5hbWUiOiJTZXJ2ZXIifX0.TND9kJd8GXM39XP5PMH_LnF_99al4MEkI_eoEowPvPztirgM50aZEdg6SuLYQzg-R7vrA7hEFaK4NJb2BUUsIZYVMhjl1QmKUE5TnP0Q2zYnIfNQNZFDu2rKrOydPCkPQwlMVvvZLeBSz7lrKYujF-qZ_yY_6SHlFtt-rg6IznRtup8AFziXtl-9cEsWU92_GCTd5LiriQrsnFAiGRbb0p2_6OYAQAH9FeWu4cxrbSwUmeR7Q4klJyZqFd0fv6UTFBtpSiyci7rsB142MXyLcqM4PrBkgd9P5OFbJYf5lbsb9pW04wLSl9rqoWGgZvWsqpuzosUkQRZt_O5yuYmT9w"
          }
        }
      },
      "RemoteConsoleUrl": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The remote console url with the jwToken parameter for access",
            "readOnly": true,
            "example": "https://dcd.ionos.com/noVNC?token=eyJ0eXAiOiJKV1QiLCJraWQiOiI0MWM1MDFlNC03NGY3LTQwYjctYmMxMi1lZWIzMTAzNThlZDkiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpb25vc2Nsb3VkIiwiaWF0IjoxNjAyNDg5NTkzMDcxLCJzZXJ2ZXIiOnsidXVpZCI6IjMwNGEwZGVlLWE3OTgtNDNhNi04MzIyLTk3M2NiYzc3Yjg4ZCIsIm5hbWUiOiJTZXJ2ZXIifX0.TND9kJd8GXM39XP5PMH_LnF_99al4MEkI_eoEowPvPztirgM50aZEdg6SuLYQzg-R7vrA7hEFaK4NJb2BUUsIZYVMhjl1QmKUE5TnP0Q2zYnIfNQNZFDu2rKrOydPCkPQwlMVvvZLeBSz7lrKYujF-qZ_yY_6SHlFtt-rg6IznRtup8AFziXtl-9cEsWU92_GCTd5LiriQrsnFAiGRbb0p2_6OYAQAH9FeWu4cxrbSwUmeR7Q4klJyZqFd0fv6UTFBtpSiyci7rsB142MXyLcqM4PrBkgd9P5OFbJYf5lbsb9pW04wLSl9rqoWGgZvWsqpuzosUkQRZt_O5yuYmT9w"
          }
        }
      },
      "Server": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "server",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/ServerProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/ServerEntities"
          }
        }
      },
      "Servers": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Server"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "SnapshotProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the  resource.",
            "example": "My resource"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description.",
            "example": "Image/Snapshot of Ubuntu "
          },
          "location": {
            "type": "string",
            "description": "Location of that image/snapshot. ",
            "readOnly": true,
            "example": "us/las"
          },
          "size": {
            "type": "number",
            "description": "The size of the image in GB.",
            "readOnly": true,
            "example": 100
          },
          "secAuthProtection": {
            "type": "boolean",
            "description": "Boolean value representing if the snapshot requires extra protection, such as two-step verification.",
            "example": true
          },
          "cpuHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable CPU (no reboot required).",
            "example": true
          },
          "cpuHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable CPU (no reboot required).",
            "example": true
          },
          "ramHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable RAM (no reboot required).",
            "example": true
          },
          "ramHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable RAM (no reboot required).",
            "example": true
          },
          "nicHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable NIC (no reboot required).",
            "example": true
          },
          "nicHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable NIC (no reboot required).",
            "example": true
          },
          "discVirtioHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable Virt-IO drive (no reboot required).",
            "example": true
          },
          "discVirtioHotUnplug": {
            "type": "boolean",
            "description": "Hot-unplug capable Virt-IO drive (no reboot required). Not supported with Windows VMs.",
            "example": true
          },
          "discScsiHotPlug": {
            "type": "boolean",
            "description": "Hot-plug capable SCSI drive (no reboot required).",
            "example": true
          },
          "exposeSerial": {
            "$ref": "#/components/schemas/ExposeSerial"
          },
          "requireLegacyBios": {
            "$ref": "#/components/schemas/RequireLegacyBios"
          },
          "discScsiHotUnplug": {
            "type": "boolean",
            "description": "Is capable of SCSI drive hot unplug (no reboot required). This works only for non-Windows virtual Machines.",
            "example": true
          },
          "licenceType": {
            "type": "string",
            "description": "OS type of this snapshot",
            "example": "LINUX",
            "x-extensible-enum": [
              "UNKNOWN",
              "WINDOWS",
              "WINDOWS2016",
              "WINDOWS2019",
              "WINDOWS2022",
              "WINDOWS2025",
              "RHEL",
              "LINUX",
              "OTHER"
            ]
          },
          "applicationType": {
            "$ref": "#/components/schemas/ApplicationType"
          }
        }
      },
      "Snapshot": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "snapshot",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/SnapshotProperties"
          }
        }
      },
      "CreateSnapshot": {
        "type": "object",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/CreateSnapshotProperties"
          }
        }
      },
      "CreateSnapshotProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the snapshot"
          },
          "description": {
            "type": "string",
            "description": "The description of the snapshot"
          },
          "secAuthProtection": {
            "type": "boolean",
            "description": "Flag representing if extra protection is enabled on snapshot e.g. Two Factor protection etc."
          },
          "licenceType": {
            "type": "string",
            "description": "OS type of this Snapshot",
            "example": "LINUX",
            "x-extensible-enum": [
              "UNKNOWN",
              "WINDOWS",
              "WINDOWS2016",
              "WINDOWS2019",
              "WINDOWS2022",
              "WINDOWS2025",
              "RHEL",
              "LINUX",
              "OTHER"
            ]
          },
          "applicationType": {
            "$ref": "#/components/schemas/ApplicationType"
          }
        }
      },
      "RestoreSnapshot": {
        "type": "object",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/RestoreSnapshotProperties"
          }
        }
      },
      "RestoreSnapshotProperties": {
        "type": "object",
        "properties": {
          "snapshotId": {
            "type": "string",
            "description": "The id of the snapshot"
          }
        }
      },
      "Snapshots": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Snapshot"
            }
          }
        }
      },
      "Users": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/User"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "S3Keys": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/users/9b1b4c62-1466-11e7-87d3-d7bb7dac0087/s3keys"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/S3Key"
            }
          }
        }
      },
      "ResourcesUsersRef": {
        "type": "object",
        "description": "Reference to resources owned by a user (without nested items).",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c/owns"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/users/9b1b4c62-1466-11e7-87d3-d7bb7dac0087/owns"
          }
        }
      },
      "GroupUsersRef": {
        "type": "object",
        "description": "Reference to groups a user belongs to (without nested items).",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c/groups"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/users/9b1b4c62-1466-11e7-87d3-d7bb7dac0087/groups"
          }
        }
      },
      "S3KeysRef": {
        "type": "object",
        "description": "Reference to S3 keys associated with a user (without nested items).",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c/s3keys"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/users/9b1b4c62-1466-11e7-87d3-d7bb7dac0087/s3keys"
          }
        }
      },
      "GroupMembersRef": {
        "type": "object",
        "description": "Reference to group members (without nested items).",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c/users"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/groups/30740c22-1def-11e7-aac9-d7a3646ca7fd/users"
          }
        }
      },
      "ResourceGroupsRef": {
        "type": "object",
        "description": "Reference to resources assigned to a group (without nested items).",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c/resources"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://<API_HOST>/cloudapi/v6/um/groups/30740c22-1def-11e7-aac9-d7a3646ca7fd/resources"
          }
        }
      },
      "Volumes": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Volume"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "BackupUnitProperties": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the  resource (alphanumeric characters only).",
            "example": "BackupUnitName"
          },
          "password": {
            "type": "string",
            "description": "The password associated with that resource.",
            "example": "mypass123"
          },
          "email": {
            "type": "string",
            "description": "The email associated with the backup unit. Bear in mind that this email does not be the same email as of the user.",
            "example": "email@email.com"
          }
        }
      },
      "BackupUnitPropertiesPut": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "readOnly": true,
            "description": "The name of the  resource (alphanumeric characters only).",
            "example": "BackupUnitName"
          },
          "password": {
            "type": "string",
            "description": "The password associated with that resource.",
            "example": "mypass123"
          },
          "email": {
            "type": "string",
            "description": "The email associated with the backup unit. Bear in mind that this email does not be the same email as of the user.",
            "example": "email@email.com"
          }
        }
      },
      "BackupUnit": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "readOnly": true,
            "enum": [
              "backupunit"
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/BackupUnitProperties"
          }
        }
      },
      "BackupUnitPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "readOnly": true,
            "enum": [
              "backupunit"
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/BackupUnitPropertiesPut"
          }
        }
      },
      "BackupUnitSSO": {
        "type": "object",
        "properties": {
          "ssoUrl": {
            "type": "string",
            "description": "The backup unit single sign on url",
            "readOnly": true,
            "example": "https://<hostname>/?jwt=eyJ0eXAiO...W47AN5-_x7E"
          }
        }
      },
      "S3ObjectStorageSSO": {
        "type": "object",
        "properties": {
          "ssoUrl": {
            "type": "string",
            "description": "The IONOS Cloud Object Storage single sign on url",
            "readOnly": true,
            "example": "https://<hostname>:port/ssosecurelogin.htm?user=dcf5702f-9353-47AN5-_x7E.....htm"
          }
        }
      },
      "BackupUnits": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "readOnly": true,
            "example": "collection",
            "enum": [
              "collection"
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/BackupUnit"
            }
          }
        }
      },
      "LabelProperties": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "A label key",
            "example": "environment"
          },
          "value": {
            "type": "string",
            "description": "A label value",
            "example": "production"
          },
          "resourceId": {
            "type": "string",
            "description": "The ID of the resource.",
            "example": "700e1cab-99b2-4c30-ba8c-1d273ddba022"
          },
          "resourceType": {
            "type": "string",
            "description": "The type of the resource on which the label is applied.",
            "example": "datacenter"
          },
          "resourceHref": {
            "type": "string",
            "description": "URL to the Resource (absolute path) on which the label is applied.",
            "example": "https://<hostname>/datacenters/700e1cab-99b2-4c30-ba8c-1d273ddba022"
          }
        }
      },
      "Label": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Label is identified using standard URN.",
            "readOnly": true,
            "example": "urn:label:datacenter:700e1cab-99b2-4c30-ba8c-1d273ddba022:environment"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "readOnly": true,
            "enum": [
              "label"
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/NoStateMetaData"
          },
          "properties": {
            "$ref": "#/components/schemas/LabelProperties"
          }
        }
      },
      "Labels": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique representation of the label as a resource collection.",
            "readOnly": true,
            "example": "labels"
          },
          "type": {
            "type": "string",
            "description": "The type of resource within a collection.",
            "readOnly": true,
            "example": "collection",
            "enum": [
              "collection"
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the collection representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Label"
            }
          }
        }
      },
      "LabelResourceProperties": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "A label key",
            "example": "environment"
          },
          "value": {
            "type": "string",
            "description": "A label value",
            "example": "production"
          }
        }
      },
      "LabelResource": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Label on a resource is identified using label key.",
            "readOnly": true,
            "example": "environment"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "readOnly": true,
            "enum": [
              "label"
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/NoStateMetaData"
          },
          "properties": {
            "$ref": "#/components/schemas/LabelResourceProperties"
          }
        }
      },
      "LabelResources": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique representation of the label as a resource collection.",
            "readOnly": true,
            "example": "labels"
          },
          "type": {
            "type": "string",
            "description": "The type of resource within a collection.",
            "readOnly": true,
            "example": "collection",
            "enum": [
              "collection"
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the collection representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/LabelResource"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "S3Bucket": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the Object storage bucket.",
            "example": "My Bucket"
          }
        }
      },
      "KubernetesClusterProperties": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "A Kubernetes cluster name. Valid Kubernetes cluster name must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.",
            "example": "k8s"
          },
          "k8sVersion": {
            "type": "string",
            "description": "The Kubernetes version the cluster is running. This imposes restrictions on what Kubernetes versions can be run in a cluster's nodepools. Additionally, not all Kubernetes versions are viable upgrade targets for all prior versions.",
            "example": "1.15.4"
          },
          "maintenanceWindow": {
            "$ref": "#/components/schemas/KubernetesMaintenanceWindow"
          },
          "availableUpgradeVersions": {
            "type": "array",
            "description": "List of available versions for upgrading the cluster",
            "example": [
              "1.16.4",
              "1.17.7"
            ],
            "items": {
              "type": "string"
            }
          },
          "viableNodePoolVersions": {
            "type": "array",
            "description": "List of versions that may be used for node pools under this cluster",
            "example": [
              "1.17.7",
              "1.18.2"
            ],
            "items": {
              "type": "string"
            }
          },
          "public": {
            "type": "boolean",
            "description": "The indicator if the cluster is public or private. Be aware that setting it to false is currently in beta phase.",
            "default": true,
            "x-prerelease": true
          },
          "location": {
            "type": "string",
            "description": "The location of the cluster if the cluster is private. This property is immutable. The location must be enabled for your contract or you must have a Datacenter within that location. This attribute is mandatory if the cluster is private.",
            "example": "de/fra",
            "x-prerelease": true
          },
          "natGatewayIp": {
            "type": "string",
            "description": "The nat gateway IP of the cluster if the cluster is private. This property is immutable. Must be a reserved IP in the same location as the cluster's location. This attribute is mandatory if the cluster is private.",
            "example": "198.51.100.100",
            "x-prerelease": true
          },
          "nodeSubnet": {
            "type": "string",
            "description": "The node subnet of the cluster, if the cluster is private. This property is optional and immutable. Must be a valid CIDR notation for an IPv4 network prefix of 16 bits length.",
            "example": "192.168.0.0/16",
            "x-prerelease": true
          },
          "apiSubnetAllowList": {
            "type": "array",
            "description": "Access to the K8s API server is restricted to these CIDRs. Traffic, internal to the cluster, is not affected by this restriction. If no allowlist is specified, access is not restricted. If an IP without subnet mask is provided, the default value is used: 32 for IPv4 and 128 for IPv6.",
            "example": [
              "1.2.3.4/32",
              "2002::1234:abcd:ffff:c0a8:101/64",
              "1.2.3.4",
              "2002::1234:abcd:ffff:c0a8:101"
            ],
            "items": {
              "type": "string"
            }
          },
          "s3Buckets": {
            "type": "array",
            "description": "List of Object storage buckets configured for K8s usage. For now it contains only one bucket used to store K8s API audit logs",
            "items": {
              "$ref": "#/components/schemas/S3Bucket"
            }
          }
        }
      },
      "KubernetesCluster": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource unique identifier.",
            "readOnly": true,
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907527"
          },
          "type": {
            "type": "string",
            "description": "The object type.",
            "readOnly": true,
            "enum": [
              "k8s"
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/k8s/b0a6ed23-0636-4bd4-94aa-be01c355af1d"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/KubernetesClusterProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/KubernetesClusterEntities"
          }
        }
      },
      "KubernetesClusterForPost": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource unique identifier.",
            "readOnly": true,
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907527"
          },
          "type": {
            "type": "string",
            "description": "The object type.",
            "readOnly": true,
            "enum": [
              "k8s"
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/k8s/cc536834-b436-4b8e-b7d9-1e1473080057"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/KubernetesClusterPropertiesForPost"
          },
          "entities": {
            "$ref": "#/components/schemas/KubernetesClusterEntities"
          }
        }
      },
      "KubernetesClusterForPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907527"
          },
          "type": {
            "type": "string",
            "description": "The type of object.",
            "readOnly": true,
            "enum": [
              "k8s"
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/KubernetesClusterPropertiesForPut"
          },
          "entities": {
            "$ref": "#/components/schemas/KubernetesClusterEntities"
          }
        }
      },
      "KubernetesClusterEntities": {
        "type": "object",
        "properties": {
          "nodepools": {
            "$ref": "#/components/schemas/KubernetesNodePools"
          }
        }
      },
      "KubernetesClusters": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique representation of the K8s cluster as a resource collection.",
            "readOnly": true,
            "example": "k8s"
          },
          "type": {
            "type": "string",
            "description": "The resource type within a collection.",
            "readOnly": true,
            "example": "collection",
            "enum": [
              "collection"
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the collection representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/k8s"
          },
          "items": {
            "type": "array",
            "description": "Array of K8s clusters in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/KubernetesCluster"
            }
          }
        }
      },
      "KubernetesMaintenanceWindow": {
        "required": [
          "dayOfTheWeek",
          "time"
        ],
        "type": "object",
        "properties": {
          "dayOfTheWeek": {
            "type": "string",
            "description": "The weekday for a maintenance window.",
            "example": "Monday",
            "enum": [
              "Monday",
              "Tuesday",
              "Wednesday",
              "Thursday",
              "Friday",
              "Saturday",
              "Sunday"
            ]
          },
          "time": {
            "type": "string",
            "description": "The time to use for a maintenance window. Accepted formats are: HH:mm:ss; HH:mm:ss\"Z\"; HH:mm:ssZ. This time may vary by 15 minutes.",
            "example": "13:00:00"
          }
        }
      },
      "KubernetesAutoScaling": {
        "required": [
          "maxNodeCount",
          "minNodeCount"
        ],
        "type": "object",
        "properties": {
          "minNodeCount": {
            "type": "integer",
            "description": "The minimum number of working nodes that the managed node pool can scale must be >= 1 and >= nodeCount. Required if autoScaling is specified.",
            "format": "int32",
            "example": 1
          },
          "maxNodeCount": {
            "type": "integer",
            "description": "The maximum number of worker nodes that the managed node pool can scale in. Must be >= minNodeCount and must be >= nodeCount. Required if autoScaling is specified.",
            "format": "int32",
            "example": 3
          }
        }
      },
      "KubernetesClusterPropertiesForPost": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "A Kubernetes cluster name. Valid Kubernetes cluster name must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.",
            "example": "k8s"
          },
          "k8sVersion": {
            "type": "string",
            "description": "The Kubernetes version that the cluster is running. This limits which Kubernetes versions can run in a cluster's node pools. Also, not all Kubernetes versions are suitable upgrade targets for all earlier versions.",
            "example": "1.15.4"
          },
          "maintenanceWindow": {
            "$ref": "#/components/schemas/KubernetesMaintenanceWindow"
          },
          "public": {
            "type": "boolean",
            "description": "The indicator whether the cluster is public or private. Note that the status FALSE is still in the beta phase.",
            "default": true,
            "x-prerelease": true
          },
          "location": {
            "type": "string",
            "description": "This attribute is mandatory if the cluster is private and optional if the cluster is public. The location must be enabled for your contract, or you must have a data center at that location. This property is not adjustable.",
            "example": "de/fra",
            "x-prerelease": true
          },
          "natGatewayIp": {
            "type": "string",
            "description": "The nat gateway IP of the cluster if the cluster is private. This property is immutable. Must be a reserved IP in the same location as the cluster's location. This attribute is mandatory if the cluster is private.",
            "example": "198.51.100.100",
            "x-prerelease": true
          },
          "nodeSubnet": {
            "type": "string",
            "description": "The node subnet of the cluster, if the cluster is private. This property is optional and immutable. Must be a valid CIDR notation for an IPv4 network prefix of 16 bits length.",
            "example": "192.168.0.0/16",
            "x-prerelease": true
          },
          "apiSubnetAllowList": {
            "type": "array",
            "description": "Access to the K8s API server is restricted to these CIDRs. Intra-cluster traffic is not affected by this restriction. If no AllowList is specified, access is not limited. If an IP is specified without a subnet mask, the default value is 32 for IPv4 and 128 for IPv6.",
            "example": [
              "1.2.3.4/32",
              "2002::1234:abcd:ffff:c0a8:101/64",
              "1.2.3.4",
              "2002::1234:abcd:ffff:c0a8:101"
            ],
            "items": {
              "type": "string"
            }
          },
          "s3Buckets": {
            "type": "array",
            "description": "List of Object storage buckets configured for K8s usage. At the moment, it contains only one bucket that is used to store K8s API audit logs.",
            "items": {
              "$ref": "#/components/schemas/S3Bucket"
            }
          }
        }
      },
      "KubernetesClusterPropertiesForPut": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "A Kubernetes cluster name. Valid Kubernetes cluster name must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.",
            "example": "k8s"
          },
          "k8sVersion": {
            "type": "string",
            "description": "The Kubernetes version that the cluster is running. This limits which Kubernetes versions can run in a cluster's node pools. Also, not all Kubernetes versions are suitable upgrade targets for all earlier versions.",
            "example": "1.15.4"
          },
          "maintenanceWindow": {
            "$ref": "#/components/schemas/KubernetesMaintenanceWindow"
          },
          "apiSubnetAllowList": {
            "type": "array",
            "description": "Access to the K8s API server is restricted to these CIDRs. Intra-cluster traffic is not affected by this restriction. If no AllowList is specified, access is not limited. If an IP is specified without a subnet mask, the default value is 32 for IPv4 and 128 for IPv6.",
            "example": [
              "1.2.3.4/32",
              "2002::1234:abcd:ffff:c0a8:101/64",
              "1.2.3.4",
              "2002::1234:abcd:ffff:c0a8:101"
            ],
            "items": {
              "type": "string"
            }
          },
          "s3Buckets": {
            "type": "array",
            "description": "List of Object storage buckets configured for K8s usage. At the moment, it contains only one bucket that is used to store K8s API audit logs.",
            "items": {
              "$ref": "#/components/schemas/S3Bucket"
            }
          }
        }
      },
      "KubernetesNodePoolProperties": {
        "required": [
          "availabilityZone",
          "coresCount",
          "datacenterId",
          "name",
          "nodeCount",
          "ramSize",
          "storageSize",
          "storageType"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "A Kubernetes node pool name. Valid Kubernetes node pool name must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.",
            "example": "K8s-node-pool"
          },
          "datacenterId": {
            "type": "string",
            "description": "The unique identifier of the data center where the worker nodes of the node pool are provisioned. Note that the data center must be located in the same location as the cluster of the node pool or in one of its associated locations. For private Kubernetes, the data centers of all node pools must be placed at the same location.",
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907521"
          },
          "nodeCount": {
            "type": "integer",
            "description": "The number of worker nodes of the node pool.",
            "example": 2
          },
          "serverType": {
            "$ref": "#/components/schemas/KubernetesNodePoolServerType"
          },
          "cpuFamily": {
            "type": "string",
            "description": "The CPU type for the nodes.\n\n**Deprecated**: This property has been deprecated. For a specific CPU type, use \"serverType\" instead.\n",
            "example": "INTEL_ICELAKE",
            "deprecated": true
          },
          "coresCount": {
            "type": "integer",
            "description": "The total number of cores for the nodes.",
            "example": 4
          },
          "ramSize": {
            "type": "integer",
            "description": "The RAM size for the nodes. Must be specified in multiples of 1024 MB, with a minimum size of 2048 MB.",
            "example": 2048
          },
          "availabilityZone": {
            "type": "string",
            "description": "The availability zone in which the target VM should be provisioned.",
            "example": "AUTO",
            "enum": [
              "AUTO",
              "ZONE_1",
              "ZONE_2"
            ]
          },
          "storageType": {
            "type": "string",
            "description": "The storage type for the nodes.",
            "example": "HDD",
            "enum": [
              "HDD",
              "SSD"
            ]
          },
          "storageSize": {
            "type": "integer",
            "description": "The allocated volume size in GB. The allocated volume size in GB. To achieve good performance, we recommend a size greater than 100GB for SSD.",
            "example": 100
          },
          "k8sVersion": {
            "type": "string",
            "description": "The Kubernetes version running in the node pool. Note that this imposes restrictions on which Kubernetes versions can run in the node pools of a cluster. Also, not all Kubernetes versions are suitable upgrade targets for all earlier versions.",
            "example": "1.15.4"
          },
          "maintenanceWindow": {
            "$ref": "#/components/schemas/KubernetesMaintenanceWindow"
          },
          "autoScaling": {
            "$ref": "#/components/schemas/KubernetesAutoScaling"
          },
          "lans": {
            "type": "array",
            "description": "The array of existing private LANs to attach to worker nodes.",
            "items": {
              "$ref": "#/components/schemas/KubernetesNodePoolLan"
            }
          },
          "labels": {
            "$ref": "#/components/schemas/KubernetesNodePoolLabel"
          },
          "annotations": {
            "$ref": "#/components/schemas/KubernetesNodePoolAnnotation"
          },
          "taints": {
            "type": "array",
            "maxItems": 50,
            "description": "Taints applied to nodes in this pool. A taint repels pods that do not have a matching toleration. Maximum 50 taints per node pool.",
            "items": {
              "$ref": "#/components/schemas/KubernetesNodePoolTaint"
            }
          },
          "publicIps": {
            "type": "array",
            "description": "Optional array of reserved public IP addresses to be used by the nodes. The IPs must be from the exact location of the node pool's data center. If autoscaling is used, the array must contain one more IP than the maximum possible number of nodes (nodeCount+1 for a fixed number of nodes or maxNodeCount+1). The extra IP is used when the nodes are rebuilt.",
            "example": [
              "81.173.1.2",
              "82.231.2.5",
              "92.221.2.4"
            ],
            "items": {
              "type": "string"
            }
          },
          "availableUpgradeVersions": {
            "type": "array",
            "description": "The list of available versions for upgrading the node pool.",
            "example": [
              "1.16.4",
              "1.17.7"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "KubernetesNodePoolPropertiesForPost": {
        "required": [
          "availabilityZone",
          "coresCount",
          "datacenterId",
          "name",
          "nodeCount",
          "ramSize",
          "storageSize",
          "storageType"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "A Kubernetes node pool name. Valid Kubernetes node pool name must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.",
            "example": "K8s-node-pool"
          },
          "datacenterId": {
            "type": "string",
            "description": "The unique identifier of the data center where the worker nodes of the node pool are provisioned. Note that the data center must be located in the same location as the cluster of the node pool or in one of its associated locations. For private Kubernetes, the data centers of all node pools must be placed at the same location.",
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907521"
          },
          "nodeCount": {
            "type": "integer",
            "description": "The number of worker nodes of the node pool.",
            "example": 2
          },
          "serverType": {
            "$ref": "#/components/schemas/KubernetesNodePoolServerType"
          },
          "cpuFamily": {
            "type": "string",
            "description": "The CPU type for the nodes. If this field is null or omitted from the request, an available CPU architecture will be automatically selected. Supplying an empty string is not accepted. | **Deprecated**: This property has been deprecated. For a specific use of a CPU type, use \"serverType\" instead.",
            "example": "INTEL_ICELAKE",
            "deprecated": true
          },
          "coresCount": {
            "type": "integer",
            "description": "The total number of cores for the nodes.",
            "example": 4
          },
          "ramSize": {
            "type": "integer",
            "description": "The RAM size for the nodes. Must be specified in multiples of 1024 MB, with a minimum size of 2048 MB.",
            "example": 2048
          },
          "availabilityZone": {
            "type": "string",
            "description": "The availability zone in which the target VM should be provisioned.",
            "example": "AUTO",
            "enum": [
              "AUTO",
              "ZONE_1",
              "ZONE_2"
            ]
          },
          "storageType": {
            "type": "string",
            "description": "The storage type for the nodes.",
            "example": "HDD",
            "enum": [
              "HDD",
              "SSD"
            ]
          },
          "storageSize": {
            "type": "integer",
            "description": "The allocated volume size in GB. The allocated volume size in GB. To achieve good performance, we recommend a size greater than 100GB for SSD.",
            "example": 100
          },
          "k8sVersion": {
            "type": "string",
            "description": "The Kubernetes version running in the node pool. Note that this imposes restrictions on which Kubernetes versions can run in the node pools of a cluster. Also, not all Kubernetes versions are suitable upgrade targets for all earlier versions.",
            "example": "1.15.4"
          },
          "maintenanceWindow": {
            "$ref": "#/components/schemas/KubernetesMaintenanceWindow"
          },
          "autoScaling": {
            "$ref": "#/components/schemas/KubernetesAutoScaling"
          },
          "lans": {
            "type": "array",
            "description": "The array of existing private LANs to attach to worker nodes.",
            "items": {
              "$ref": "#/components/schemas/KubernetesNodePoolLan"
            }
          },
          "labels": {
            "$ref": "#/components/schemas/KubernetesNodePoolLabel"
          },
          "annotations": {
            "$ref": "#/components/schemas/KubernetesNodePoolAnnotation"
          },
          "taints": {
            "type": "array",
            "maxItems": 50,
            "description": "Taints applied to nodes in this pool. A taint repels pods that do not have a matching toleration. Maximum 50 taints per node pool.",
            "items": {
              "$ref": "#/components/schemas/KubernetesNodePoolTaint"
            }
          },
          "publicIps": {
            "type": "array",
            "description": "Optional array of reserved public IP addresses to be used by the nodes. The IPs must be from the exact location of the node pool's data center. If autoscaling is used, the array must contain one more IP than the maximum possible number of nodes (nodeCount+1 for a fixed number of nodes or maxNodeCount+1). The extra IP is used when the nodes are rebuilt.",
            "example": [
              "81.173.1.2",
              "82.231.2.5",
              "92.221.2.4"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "KubernetesNodePoolPropertiesForPut": {
        "required": [
          "nodeCount"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "A Kubernetes node pool name. Valid Kubernetes node pool name must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.",
            "example": "k8s-node-pool"
          },
          "nodeCount": {
            "type": "integer",
            "description": "The number of worker nodes of the node pool.",
            "example": 2
          },
          "serverType": {
            "$ref": "#/components/schemas/KubernetesNodePoolServerType"
          },
          "k8sVersion": {
            "type": "string",
            "description": "The Kubernetes version running in the node pool. Note that this imposes restrictions on which Kubernetes versions can run in the node pools of a cluster. Also, not all Kubernetes versions are suitable upgrade targets for all earlier versions.",
            "example": "1.15.4"
          },
          "maintenanceWindow": {
            "$ref": "#/components/schemas/KubernetesMaintenanceWindow"
          },
          "autoScaling": {
            "$ref": "#/components/schemas/KubernetesAutoScaling"
          },
          "lans": {
            "type": "array",
            "description": "The array of existing private LANs to attach to worker nodes.",
            "items": {
              "$ref": "#/components/schemas/KubernetesNodePoolLan"
            }
          },
          "labels": {
            "$ref": "#/components/schemas/KubernetesNodePoolLabel"
          },
          "annotations": {
            "$ref": "#/components/schemas/KubernetesNodePoolAnnotation"
          },
          "taints": {
            "type": "array",
            "maxItems": 50,
            "description": "Taints applied to nodes in this pool. A taint repels pods that do not have a matching toleration. Maximum 50 taints per node pool.",
            "items": {
              "$ref": "#/components/schemas/KubernetesNodePoolTaint"
            }
          },
          "publicIps": {
            "type": "array",
            "description": "Optional array of reserved public IP addresses to be used by the nodes. The IPs must be from the exact location of the node pool's data center. If autoscaling is used, the array must contain one more IP than the maximum possible number of nodes (nodeCount+1 for a fixed number of nodes or maxNodeCount+1). The extra IP is used when the nodes are rebuilt.",
            "example": [
              "81.173.1.2",
              "82.231.2.5",
              "92.221.2.4"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "KubernetesNodePoolServerType": {
        "type": "string",
        "enum": [
          "DedicatedCore",
          "VCPU"
        ],
        "default": "DedicatedCore",
        "description": "The type of server for the Kubernetes node pool can be either 'DedicatedCore' (nodes with dedicated CPU cores) or 'VCPU' (nodes with shared CPU cores). This selection corresponds to the server type for the compute engine."
      },
      "KubernetesNodePool": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907527"
          },
          "type": {
            "type": "string",
            "description": "The object type.",
            "readOnly": true,
            "enum": [
              "nodepool"
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/k8s/30f8a4f6-6515-4c34-b49d-dea807453b90/nodepools/4735f530-4279-42f3-9562-386143098038"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/KubernetesNodePoolProperties"
          }
        }
      },
      "KubernetesNodePoolForPost": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907527"
          },
          "type": {
            "type": "string",
            "description": "The object type.",
            "readOnly": true,
            "enum": [
              "nodepool"
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/k8s/30f8a4f6-6515-4c34-b49d-dea807453b90/nodepools/4735f530-4279-42f3-9562-386143098038"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/KubernetesNodePoolPropertiesForPost"
          }
        }
      },
      "KubernetesNodePoolForPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907527"
          },
          "type": {
            "type": "string",
            "description": "The object type.",
            "readOnly": true,
            "enum": [
              "nodepool"
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/k8s/30f8a4f6-6515-4c34-b49d-dea807453b90/nodepools/4735f530-4279-42f3-9562-386143098038"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/KubernetesNodePoolPropertiesForPut"
          }
        }
      },
      "KubernetesNodePools": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique representation of the Kubernetes node pool as a resource collection.",
            "readOnly": true,
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907527/nodepools"
          },
          "type": {
            "type": "string",
            "description": "The resource type within a collection.",
            "readOnly": true,
            "example": "collection",
            "enum": [
              "collection"
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the collection representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/k8s/30f8a4f6-6515-4c34-b49d-dea807453b90/nodepools"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/KubernetesNodePool"
            }
          }
        }
      },
      "KubernetesNodeProperties": {
        "required": [
          "k8sVersion",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The Kubernetes node name.",
            "example": "K8s-node"
          },
          "publicIP": {
            "type": "string",
            "description": "The public IP associated with the node.",
            "example": "192.168.23.2"
          },
          "privateIP": {
            "type": "string",
            "description": "The private IP associated with the node.",
            "example": "192.168.23.2"
          },
          "k8sVersion": {
            "type": "string",
            "description": "The Kubernetes version running in the node pool. Note that this imposes restrictions on which Kubernetes versions can run in the node pools of a cluster. Also, not all Kubernetes versions are suitable upgrade targets for all earlier versions.",
            "example": "1.15.4"
          }
        }
      },
      "KubernetesNode": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907527"
          },
          "type": {
            "type": "string",
            "description": "The object type.",
            "readOnly": true,
            "enum": [
              "node"
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/k8s/30f8a4f6-6515-4c34-b49d-dea807453b90/nodepools/bfdf67bd-5665-4245-8096-7c7991f02f3f/nodes/81892fdb-d97e-4919-baf9-2b3a923f5401"
          },
          "metadata": {
            "$ref": "#/components/schemas/KubernetesNodeMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/KubernetesNodeProperties"
          }
        }
      },
      "KubernetesNodes": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique representation of the Kubernetes node pool as a resource collection.",
            "readOnly": true,
            "example": "1e072e52-2ed3-492f-b6b6-c6b116907527/nodepools"
          },
          "type": {
            "type": "string",
            "description": "The resource type within a collection.",
            "readOnly": true,
            "example": "collection",
            "enum": [
              "collection"
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the collection representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "https://api.ionos.com/cloudapi/v6/k8s/30f8a4f6-6515-4c34-b49d-dea807453b90/nodepools/bfdf67bd-5665-4245-8096-7c7991f02f3f/nodes"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/KubernetesNode"
            }
          }
        }
      },
      "KubernetesNodePoolLanRoutes": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "description": "IPv4 or IPv6 CIDR to be routed via the interface.",
            "example": "1.2.3.4/24"
          },
          "gatewayIp": {
            "type": "string",
            "description": "IPv4 or IPv6 Gateway IP for the route.",
            "example": "10.1.5.16"
          }
        }
      },
      "KubernetesNodePoolLan": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "datacenterId": {
            "type": "string",
            "description": "The datacenter ID, requires system privileges, for internal usage only",
            "example": "00000000-0000-0000-0000-000000000000",
            "x-internal": true
          },
          "id": {
            "type": "integer",
            "description": "The LAN ID of an existing LAN at the related data center",
            "format": "int32",
            "example": 3
          },
          "dhcp": {
            "type": "boolean",
            "description": "Specifies whether the Kubernetes node pool LAN reserves an IP with DHCP.",
            "example": true
          },
          "routes": {
            "type": "array",
            "description": "The array of additional LANs attached to worker nodes.",
            "items": {
              "$ref": "#/components/schemas/KubernetesNodePoolLanRoutes"
            }
          }
        }
      },
      "NatGateway": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "natgateway",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/NatGatewayProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/NatGatewayEntities"
          }
        }
      },
      "NatGatewayPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "natgateway",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "properties": {
            "$ref": "#/components/schemas/NatGatewayProperties"
          }
        }
      },
      "NatGatewayProperties": {
        "required": [
          "name",
          "publicIps"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the NAT Gateway.",
            "example": "My NAT Gateway"
          },
          "publicIps": {
            "type": "array",
            "description": "Collection of public IP addresses of the NAT Gateway. Should be customer reserved IP addresses in that location.",
            "example": [
              "81.173.1.2",
              "82.231.2.5",
              "92.221.2.4"
            ],
            "items": {
              "type": "string"
            }
          },
          "lans": {
            "type": "array",
            "description": "Collection of LANs connected to the NAT Gateway. IPs must contain a valid subnet mask. If no IP is provided, the system will generate an IP with /24 subnet.",
            "items": {
              "$ref": "#/components/schemas/NatGatewayLanProperties"
            }
          }
        }
      },
      "NatGatewayLanProperties": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id for the LAN connected to the NAT Gateway",
            "format": "int32",
            "example": 3
          },
          "gatewayIps": {
            "type": "array",
            "description": "Collection of gateway IP addresses of the NAT Gateway. Will be auto-generated if not provided. Should ideally be an IP belonging to the same subnet as the LAN",
            "example": [
              "10.12.1.2/24",
              "10.11.2.5/24",
              "10.11.2.4"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "NatGatewayEntities": {
        "type": "object",
        "properties": {
          "rules": {
            "$ref": "#/components/schemas/NatGatewayRules"
          },
          "flowlogs": {
            "$ref": "#/components/schemas/FlowLogs"
          }
        }
      },
      "NatGateways": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/NatGateway"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "NatGatewayRules": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/NatGatewayRule"
            }
          }
        }
      },
      "NatGatewayRule": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "natgateway-rule",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/NatGatewayRuleProperties"
          }
        }
      },
      "NatGatewayRulePut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "natgateway-rule",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "properties": {
            "$ref": "#/components/schemas/NatGatewayRuleProperties"
          }
        }
      },
      "NatGatewayRuleProperties": {
        "required": [
          "name",
          "publicIp",
          "sourceSubnet"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the NAT Gateway rule.",
            "example": "My NAT Gateway rule"
          },
          "type": {
            "type": "string",
            "description": "Type of the NAT Gateway rule.",
            "example": "SNAT",
            "allOf": [
              {
                "$ref": "#/components/schemas/NatGatewayRuleType"
              }
            ]
          },
          "protocol": {
            "type": "string",
            "description": "Protocol of the NAT Gateway rule. Defaults to ALL. If protocol is 'ICMP' then targetPortRange start and end cannot be set.",
            "example": "TCP",
            "allOf": [
              {
                "$ref": "#/components/schemas/NatGatewayRuleProtocol"
              }
            ]
          },
          "sourceSubnet": {
            "type": "string",
            "description": "Source subnet of the NAT Gateway rule. For SNAT rules it specifies which packets this translation rule applies to based on the packets source IP address.",
            "example": "10.0.1.0/24"
          },
          "publicIp": {
            "type": "string",
            "description": "Public IP address of the NAT Gateway rule. Specifies the address used for masking outgoing packets source address field. Should be one of the customer reserved IP address already configured on the NAT Gateway resource",
            "example": "192.18.7.17"
          },
          "targetSubnet": {
            "type": "string",
            "description": "Target or destination subnet of the NAT Gateway rule. For SNAT rules it specifies which packets this translation rule applies to based on the packets destination IP address. If none is provided, rule will match any address.",
            "example": "10.0.1.0/24"
          },
          "targetPortRange": {
            "$ref": "#/components/schemas/TargetPortRange"
          }
        }
      },
      "NatGatewayRuleType": {
        "type": "string",
        "enum": [
          "SNAT"
        ]
      },
      "NatGatewayRuleProtocol": {
        "type": "string",
        "enum": [
          "TCP",
          "UDP",
          "ICMP",
          "ALL"
        ]
      },
      "TargetPortRange": {
        "type": "object",
        "properties": {
          "start": {
            "type": "integer",
            "description": "Target port range start associated with the NAT Gateway rule.",
            "format": "int32",
            "example": 10000
          },
          "end": {
            "type": "integer",
            "description": "Target port range end associated with the NAT Gateway rule.",
            "format": "int32",
            "example": 20000
          }
        }
      },
      "KubernetesNodePoolLabel": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        },
        "description": "The labels attached to the node pool."
      },
      "KubernetesNodePoolAnnotation": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        },
        "description": "The annotations attached to the node pool."
      },
      "KubernetesNodePoolTaint": {
        "type": "object",
        "required": [
          "key",
          "effect"
        ],
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 317,
            "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\\/)?([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$",
            "description": "Taint key. Must be a valid Kubernetes label key format. May include an optional prefix (DNS subdomain) followed by a slash.",
            "example": "dedicated"
          },
          "value": {
            "type": "string",
            "maxLength": 63,
            "pattern": "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$",
            "description": "Optional taint value. Must be a valid Kubernetes label value format.",
            "example": "gpu-workloads"
          },
          "effect": {
            "$ref": "#/components/schemas/TaintEffect"
          }
        },
        "description": "Kubernetes taint applied to node pool nodes. Taints allow nodes to repel pods that do not have matching tolerations."
      },
      "TaintEffect": {
        "type": "string",
        "enum": [
          "NoSchedule",
          "NoExecute",
          "PreferNoSchedule"
        ],
        "description": "Taint effect determines how a taint repels pods: * NoSchedule: Pods without matching toleration will not be scheduled on the node. * NoExecute: Pods without matching toleration will be evicted from the node. * PreferNoSchedule: Kubernetes will try to avoid scheduling pods without matching toleration.",
        "example": "NoSchedule"
      },
      "NetworkLoadBalancer": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "networkloadbalancer",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/NetworkLoadBalancerProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/NetworkLoadBalancerEntities"
          }
        }
      },
      "NetworkLoadBalancerProperties": {
        "required": [
          "listenerLan",
          "name",
          "targetLan"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the Network Load Balancer.",
            "example": "My Network Load Balancer"
          },
          "listenerLan": {
            "type": "integer",
            "description": "ID of the listening LAN (inbound).",
            "example": 1
          },
          "ips": {
            "type": "array",
            "description": "Collection of the Network Load Balancer IP addresses. (Inbound and outbound) IPs of the listenerLan must be customer-reserved IPs for public Load Balancers, and private IPs for private Load Balancers.",
            "example": [
              "81.173.1.2",
              "22.231.2.2",
              "22.231.2.3"
            ],
            "items": {
              "type": "string"
            }
          },
          "targetLan": {
            "type": "integer",
            "description": "ID of the balanced private target LAN (outbound).",
            "example": 2
          },
          "lbPrivateIps": {
            "type": "array",
            "description": "Collection of private IP addresses with subnet mask of the Network Load Balancer. IPs must contain a valid subnet mask. If no IP is provided, the system will generate an IP with /24 subnet.",
            "example": [
              "81.173.1.5/24",
              "22.231.2.5/24"
            ],
            "items": {
              "type": "string"
            }
          },
          "centralLogging": {
            "type": "boolean",
            "description": "Turn logging on and off for this product. Default value is 'false'.",
            "example": true
          },
          "loggingFormat": {
            "type": "string",
            "description": "Specifies the format of the logs.",
            "example": "%{+Q}o %{-Q}ci - - [%trg] %r %ST %B \"\" \"\" %cp %ms %ft %b %s %TR %Tw %Tc %Tr %Ta %tsc %ac %fc %bc %sc %rc %sq %bq %CC %CS %hrl %hsl"
          }
        }
      },
      "NetworkLoadBalancerEntities": {
        "type": "object",
        "properties": {
          "flowlogs": {
            "$ref": "#/components/schemas/FlowLogs"
          },
          "forwardingrules": {
            "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRules"
          }
        }
      },
      "NetworkLoadBalancers": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/NetworkLoadBalancer"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "ApplicationLoadBalancerProperties": {
        "required": [
          "listenerLan",
          "name",
          "targetLan"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The Application Load Balancer name.",
            "example": "My Application Load Balancer"
          },
          "listenerLan": {
            "type": "integer",
            "description": "The ID of the listening (inbound) LAN.",
            "example": 1
          },
          "ips": {
            "type": "array",
            "description": "Collection of the Application Load Balancer IP addresses. (Inbound and outbound) IPs of the 'listenerLan' are customer-reserved public IPs for the public load balancers, and private IPs for the private load balancers.",
            "example": [
              "81.173.1.2",
              "22.231.2.2",
              "22.231.2.3"
            ],
            "items": {
              "type": "string"
            }
          },
          "targetLan": {
            "type": "integer",
            "description": "The ID of the balanced private target LAN (outbound).",
            "example": 2
          },
          "lbPrivateIps": {
            "type": "array",
            "description": "Collection of private IP addresses with the subnet mask of the Application Load Balancer. IPs must contain valid a subnet mask. If no IP is provided, the system will generate an IP with /24 subnet.",
            "example": [
              "81.173.1.5/24",
              "22.231.2.5/24"
            ],
            "items": {
              "type": "string"
            }
          },
          "centralLogging": {
            "type": "boolean",
            "description": "Turn logging on and off for this product. Default value is 'false'.",
            "example": true
          },
          "loggingFormat": {
            "type": "string",
            "description": "Specifies the format of the logs.",
            "example": "%{+Q}o %{-Q}ci - - [%trg] %r %ST %B \"\" \"\" %cp %ms %ft %b %s %TR %Tw %Tc %Tr %Ta %tsc %ac %fc %bc %sc %rc %sq %bq %CC %CS %hrl %hsl"
          }
        }
      },
      "ApplicationLoadBalancerEntities": {
        "type": "object",
        "properties": {
          "forwardingrules": {
            "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRules"
          }
        }
      },
      "ApplicationLoadBalancer": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "applicationloadbalancer",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/ApplicationLoadBalancerProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/ApplicationLoadBalancerEntities"
          }
        }
      },
      "ApplicationLoadBalancers": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/ApplicationLoadBalancer"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "NetworkLoadBalancerPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "networkloadbalancer",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "properties": {
            "$ref": "#/components/schemas/NetworkLoadBalancerProperties"
          }
        }
      },
      "ApplicationLoadBalancerPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "applicationloadbalancer",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "properties": {
            "$ref": "#/components/schemas/ApplicationLoadBalancerProperties"
          }
        }
      },
      "NetworkLoadBalancerForwardingRule": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "forwarding-rule",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRuleProperties"
          }
        }
      },
      "NetworkLoadBalancerForwardingRulePut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "forwarding-rule",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "properties": {
            "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRuleProperties"
          }
        }
      },
      "NetworkLoadBalancerForwardingRules": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRule"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "NetworkLoadBalancerForwardingRuleProperties": {
        "required": [
          "algorithm",
          "listenerIp",
          "listenerPort",
          "name",
          "protocol",
          "targets"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the Network Load Balancer forwarding rule.",
            "example": "My Network Load Balancer forwarding rule"
          },
          "algorithm": {
            "type": "string",
            "description": "Balancing algorithm",
            "example": "ROUND_ROBIN",
            "enum": [
              "ROUND_ROBIN",
              "LEAST_CONNECTION",
              "RANDOM",
              "SOURCE_IP"
            ]
          },
          "protocol": {
            "type": "string",
            "description": "Balancing protocol",
            "example": "HTTP",
            "enum": [
              "HTTP",
              "TCP"
            ]
          },
          "listenerIp": {
            "type": "string",
            "description": "Listening (inbound) IP.",
            "example": "81.173.1.2"
          },
          "listenerPort": {
            "type": "integer",
            "description": "Listening (inbound) port number; valid range is 1 to 65535.",
            "format": "int32",
            "example": 8080
          },
          "healthCheck": {
            "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRuleHealthCheck"
          },
          "targets": {
            "type": "array",
            "description": "Array of items in the collection.",
            "items": {
              "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRuleTarget"
            }
          }
        }
      },
      "NetworkLoadBalancerForwardingRuleHealthCheck": {
        "type": "object",
        "properties": {
          "clientTimeout": {
            "type": "integer",
            "description": "The maximum time in milliseconds to wait for the client to acknowledge or send data; default is 50,000 (50 seconds).",
            "format": "int32",
            "example": 50
          },
          "connectTimeout": {
            "type": "integer",
            "description": "The maximum time in milliseconds to wait for a connection attempt to a target to succeed; default is 5000 (five seconds).",
            "format": "int32",
            "example": 5000
          },
          "targetTimeout": {
            "type": "integer",
            "description": "The maximum time in milliseconds that a target can remain inactive; default is 50,000 (50 seconds).",
            "format": "int32",
            "example": 50000
          },
          "retries": {
            "type": "integer",
            "description": "The maximum number of attempts to reconnect to a target after a connection failure. Valid range is 0 to 65535 and default is three reconnection attempts.",
            "format": "int32",
            "example": 3
          }
        }
      },
      "NetworkLoadBalancerForwardingRuleTarget": {
        "required": [
          "ip",
          "port",
          "weight"
        ],
        "type": "object",
        "properties": {
          "ip": {
            "type": "string",
            "description": "The IP of the balanced target VM.",
            "example": "22.231.2.2"
          },
          "port": {
            "type": "integer",
            "description": "The port of the balanced target service; valid range is 1 to 65535.",
            "format": "int32",
            "example": 8080
          },
          "weight": {
            "type": "integer",
            "description": "Traffic is distributed in proportion to target weight, relative to the combined weight of all targets. A target with higher weight receives a greater share of traffic. Valid range is 0 to 256 and default is 1. Targets with weight of 0 do not participate in load balancing but still accept persistent connections. It is best to assign weights in the middle of the range to leave room for later adjustments.",
            "format": "int32",
            "example": 123
          },
          "proxyProtocol": {
            "type": "string",
            "description": "Proxy protocol version.",
            "example": "v1",
            "default": "none",
            "enum": [
              "none",
              "v1",
              "v2",
              "v2ssl"
            ]
          },
          "healthCheck": {
            "$ref": "#/components/schemas/NetworkLoadBalancerForwardingRuleTargetHealthCheck"
          }
        }
      },
      "NetworkLoadBalancerForwardingRuleTargetHealthCheck": {
        "type": "object",
        "properties": {
          "check": {
            "type": "boolean",
            "description": "Makes the target available only if it accepts periodic health check TCP connection attempts; when turned off, the target is considered always available. The health check only consists of a connection attempt to the address and port of the target."
          },
          "checkInterval": {
            "type": "integer",
            "description": "The interval in milliseconds between consecutive health checks; default is 2000.",
            "format": "int32",
            "example": 2000
          },
          "maintenance": {
            "type": "boolean",
            "description": "Maintenance mode prevents the target from receiving balanced traffic."
          }
        }
      },
      "ApplicationLoadBalancerForwardingRule": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "forwarding-rule",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRuleProperties"
          }
        }
      },
      "ApplicationLoadBalancerForwardingRules": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRule"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "ApplicationLoadBalancerForwardingRuleProperties": {
        "required": [
          "listenerIp",
          "listenerPort",
          "name",
          "protocol"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the Application Load Balancer forwarding rule.",
            "example": "My Application Load Balancer forwarding rule"
          },
          "protocol": {
            "type": "string",
            "description": "The balancing protocol.",
            "example": "HTTP",
            "enum": [
              "HTTP"
            ]
          },
          "listenerIp": {
            "type": "string",
            "description": "The listening (inbound) IP.",
            "example": "81.173.1.2"
          },
          "listenerPort": {
            "type": "integer",
            "description": "The listening (inbound) port number; the valid range is 1 to 65535.",
            "format": "int32",
            "example": 8080
          },
          "clientTimeout": {
            "type": "integer",
            "description": "The maximum time in milliseconds to wait for the client to acknowledge or send data; default is 50,000 (50 seconds).",
            "format": "int32",
            "example": 50
          },
          "serverCertificates": {
            "type": "array",
            "description": "Array of items in the collection.",
            "example": [
              "3839d24f-57bd-408e-96ee-8da3d2db5a03",
              "a6b4f7d5-b23a-4f53-b83e-8a6528ab4612"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "httpRules": {
            "type": "array",
            "description": "An array of items in the collection. The original order of rules is preserved during processing, except that rules of the 'FORWARD' type are processed after the rules with other defined actions. The relative order of the 'FORWARD' type rules is also preserved during the processing.",
            "items": {
              "$ref": "#/components/schemas/ApplicationLoadBalancerHttpRule"
            }
          }
        }
      },
      "ApplicationLoadBalancerHttpRule": {
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The unique name of the Application Load Balancer HTTP rule.",
            "example": "My Application Load Balancer HTTP rule"
          },
          "type": {
            "type": "string",
            "description": "The HTTP rule type.",
            "example": "FORWARD",
            "enum": [
              "FORWARD",
              "STATIC",
              "REDIRECT"
            ]
          },
          "targetGroup": {
            "type": "string",
            "description": "The ID of the target group; this parameter is mandatory and is valid only for 'FORWARD' actions.",
            "example": "96e514d0-73e4-4abd-8fbc-c0f53b79bfae"
          },
          "dropQuery": {
            "type": "boolean",
            "description": "Indicates whether the query part of the URI should be dropped and is valid only for 'REDIRECT' actions. Default value is 'FALSE', the redirect URI does not contain any query parameters.",
            "example": true
          },
          "location": {
            "type": "string",
            "description": "The location for the redirection; this parameter is mandatory and valid only for 'REDIRECT' actions.",
            "example": "www.ionos.com"
          },
          "statusCode": {
            "type": "integer",
            "description": "The status code is for 'REDIRECT' and 'STATIC' actions only. \n\nIf the HTTP rule is 'REDIRECT' the valid values are: 301, 302, 303, 307, 308; default value is '301'.\n\nIf the HTTP rule is 'STATIC' the valid values are from the range 200-599; default value is '503'.",
            "format": "int32",
            "example": 301
          },
          "responseMessage": {
            "type": "string",
            "description": "The response message of the request; this parameter is mandatory for 'STATIC' actions.",
            "example": "Application Down"
          },
          "contentType": {
            "type": "string",
            "description": "Specifies the content type and is valid only for 'STATIC' actions.",
            "example": "text/html"
          },
          "conditions": {
            "type": "array",
            "description": "An array of items in the collection. The action will be executed only if each condition is met; the rule will always be applied if no conditions are set.",
            "items": {
              "$ref": "#/components/schemas/ApplicationLoadBalancerHttpRuleCondition"
            }
          }
        }
      },
      "ApplicationLoadBalancerHttpRuleCondition": {
        "required": [
          "condition",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The HTTP rule condition type.",
            "example": "HEADER",
            "enum": [
              "HEADER",
              "PATH",
              "QUERY",
              "METHOD",
              "HOST",
              "COOKIE",
              "SOURCE_IP"
            ]
          },
          "condition": {
            "type": "string",
            "description": "The matching rule for the HTTP rule condition attribute; this parameter is mandatory for 'HEADER', 'PATH', 'QUERY', 'METHOD', 'HOST', and 'COOKIE' types. It must be 'null' if the type is 'SOURCE_IP'.",
            "example": "STARTS_WITH",
            "enum": [
              "EXISTS",
              "CONTAINS",
              "EQUALS",
              "MATCHES",
              "STARTS_WITH",
              "ENDS_WITH"
            ]
          },
          "negate": {
            "type": "boolean",
            "description": "Specifies whether the condition should be negated; the default value is 'FALSE'.",
            "example": false
          },
          "key": {
            "type": "string",
            "description": "The key can only be set when the HTTP rule condition type is 'COOKIES', 'HEADER', or 'QUERY'. For the type 'PATH', 'METHOD', 'HOST', or 'SOURCE_IP' the value must be 'null'.",
            "example": "forward-at"
          },
          "value": {
            "type": "string",
            "description": "This parameter is mandatory for the conditions 'CONTAINS', 'EQUALS', 'MATCHES', 'STARTS_WITH', 'ENDS_WITH', or if the type is 'SOURCE_IP'. Specify a valid CIDR. If the condition is 'EXISTS', the value must be 'null'.",
            "example": "Friday"
          }
        }
      },
      "TargetGroup": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "target-group",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/TargetGroupProperties"
          }
        }
      },
      "TargetGroups": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/TargetGroup"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetMandatory"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitMandatory"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "TargetGroupPut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "applicationloadbalancer",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "properties": {
            "$ref": "#/components/schemas/TargetGroupProperties"
          }
        }
      },
      "TargetGroupProperties": {
        "required": [
          "algorithm",
          "name",
          "protocol"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The target group name.",
            "example": "My target group"
          },
          "algorithm": {
            "type": "string",
            "description": "The balancing algorithm. A balancing algorithm consists of predefined rules with the logic that a load balancer uses to distribute network traffic between servers.\n\n- **Round Robin**: Targets are served alternately according to their weighting.\n\n- **Least Connection**: The target with the least active connection is served.\n\n- **Random**: The targets are served based on a consistent pseudorandom algorithm.\n\n- **Source IP**: It is ensured that the same client IP address reaches the same target.",
            "example": "ROUND_ROBIN",
            "enum": [
              "ROUND_ROBIN",
              "LEAST_CONNECTION",
              "RANDOM",
              "SOURCE_IP"
            ]
          },
          "protocol": {
            "type": "string",
            "description": "The forwarding protocol. Only the value 'HTTP' is allowed.",
            "example": "HTTP",
            "enum": [
              "HTTP"
            ]
          },
          "protocolVersion": {
            "type": "string",
            "description": "The forwarding protocol version. Value is ignored when protocol is not 'HTTP'.",
            "example": "HTTP1",
            "enum": [
              "HTTP1",
              "HTTP2"
            ]
          },
          "targets": {
            "type": "array",
            "description": "Array of items in the collection.",
            "items": {
              "$ref": "#/components/schemas/TargetGroupTarget"
            }
          },
          "healthCheck": {
            "$ref": "#/components/schemas/TargetGroupHealthCheck"
          },
          "httpHealthCheck": {
            "$ref": "#/components/schemas/TargetGroupHttpHealthCheck"
          }
        }
      },
      "TargetGroupHealthCheck": {
        "type": "object",
        "properties": {
          "checkTimeout": {
            "type": "integer",
            "description": "The maximum time in milliseconds is to wait for a target to respond to a check. For target VMs with a 'Check Interval' set, the smaller of the two values is used once the TCP connection is established.",
            "format": "int32",
            "example": 2000
          },
          "checkInterval": {
            "type": "integer",
            "description": "The interval in milliseconds between consecutive health checks; the default value is '2000'.",
            "format": "int32",
            "example": 2000
          },
          "retries": {
            "type": "integer",
            "description": "The maximum number of attempts to reconnect to a target after a connection failure. The valid range is '0 to 65535'; the default value is '3'.",
            "format": "int32",
            "example": 3
          }
        }
      },
      "TargetGroupHttpHealthCheck": {
        "required": [
          "matchType",
          "response"
        ],
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "The destination URL for HTTP the health check; the default is '/'.",
            "example": "/monitoring"
          },
          "method": {
            "type": "string",
            "description": "The method used for the health check request.",
            "example": "GET",
            "enum": [
              "HEAD",
              "PUT",
              "POST",
              "GET",
              "TRACE",
              "PATCH"
            ]
          },
          "matchType": {
            "type": "string",
            "description": "Specify the target's response type to match ALB's request.",
            "example": "STATUS_CODE",
            "enum": [
              "STATUS_CODE",
              "RESPONSE_BODY"
            ]
          },
          "response": {
            "type": "string",
            "description": "The response returned by the request. It can be a status code or a response body depending on the definition of 'matchType'.",
            "example": "200"
          },
          "regex": {
            "type": "boolean",
            "description": "Specifies whether to use a regular expression to parse the response body; the default value is 'FALSE'.\n\nBy using regular expressions, you can flexibly customize the expected response from a healthy server.",
            "example": false
          },
          "negate": {
            "type": "boolean",
            "description": "Specifies whether to negate an individual entry; the default value is 'FALSE'.",
            "example": false
          }
        }
      },
      "TargetGroupTarget": {
        "required": [
          "ip",
          "port",
          "weight"
        ],
        "type": "object",
        "properties": {
          "ip": {
            "type": "string",
            "description": "The IP address of the balanced target.",
            "example": "22.231.2.2"
          },
          "port": {
            "type": "integer",
            "description": "The port of the balanced target service; the valid range is 1 to 65535.",
            "format": "int32",
            "example": 8080
          },
          "weight": {
            "type": "integer",
            "description": "The traffic is distributed proportionally to target weight, which is the ratio of the total weight of all targets. A target with higher weight receives a larger share of traffic. The valid range is from 0 to 256; the default value is '1'. Targets with a weight of '0' do not participate in load balancing but still accept persistent connections. We recommend using values in the middle range to leave room for later adjustments.",
            "format": "int32",
            "example": 123
          },
          "proxyProtocol": {
            "type": "string",
            "description": "Proxy protocol version.",
            "example": "v1",
            "default": "none",
            "enum": [
              "none",
              "v1",
              "v2",
              "v2ssl"
            ]
          },
          "healthCheckEnabled": {
            "type": "boolean",
            "description": "When the health check is enabled, the target is available only when it accepts regular TCP or HTTP connection attempts for state checking. The state check consists of one connection attempt with the target's address and port. The default value is 'TRUE'."
          },
          "maintenanceEnabled": {
            "type": "boolean",
            "description": "When the maintenance mode is enabled, the target is prevented from receiving traffic; the default value is 'FALSE'."
          }
        }
      },
      "Templates": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/Template"
            }
          }
        }
      },
      "ApplicationLoadBalancerForwardingRulePut": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "forwarding-rule",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "properties": {
            "$ref": "#/components/schemas/ApplicationLoadBalancerForwardingRuleProperties"
          }
        }
      },
      "Template": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "template",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/TemplateProperties"
          }
        }
      },
      "TemplateProperties": {
        "required": [
          "cores",
          "name",
          "ram",
          "storageSize",
          "category"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The resource name.",
            "example": "My resource"
          },
          "cores": {
            "type": "number",
            "description": "The CPU cores count.",
            "example": 2
          },
          "ram": {
            "type": "number",
            "description": "The RAM size in MB.",
            "example": 2048
          },
          "storageSize": {
            "type": "number",
            "description": "The storage size in GB.",
            "example": 10
          },
          "storageType": {
            "type": "string",
            "readOnly": true,
            "description": "The performance class type for the storage. The only possible value is 'SSD Premium'",
            "example": "SSD Premium"
          },
          "category": {
            "type": "string",
            "description": "The description of the template.",
            "example": "Template category"
          },
          "gpus": {
            "type": "array",
            "description": "List of GPUs assigned to the template",
            "items": {
              "$ref": "#/components/schemas/GpuTemplate"
            }
          }
        }
      },
      "ExposeSerial": {
        "type": "boolean",
        "description": "If set to `true` will expose the serial id of the disk attached to the server. If set to `false` will not expose the serial id. Some operating systems or software solutions require the serial id to be exposed to work properly. Exposing the serial  can influence licensed software (e.g. Windows) behavior",
        "example": true,
        "default": false
      },
      "RequireLegacyBios": {
        "type": "boolean",
        "description": "Indicates if the image requires the legacy BIOS for compatibility or specific needs.",
        "example": true,
        "default": true
      },
      "Error": {
        "type": "object",
        "properties": {
          "httpStatus": {
            "type": "integer",
            "description": "HTTP status code of the operation.",
            "format": "int32",
            "readOnly": true,
            "example": 400
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorMessage"
            }
          }
        }
      },
      "ErrorMessage": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string",
            "description": "Application internal error code.",
            "readOnly": true,
            "example": "123"
          },
          "message": {
            "type": "string",
            "description": "A human-readable message.",
            "readOnly": true,
            "example": "Error message example."
          }
        }
      },
      "Type": {
        "type": "string",
        "enum": [
          "datacenter",
          "server",
          "volume",
          "nic",
          "loadbalancer",
          "location",
          "firewall-rule",
          "flow-log",
          "image",
          "snapshot",
          "lan",
          "ipblock",
          "pcc",
          "contract",
          "user",
          "group",
          "collection",
          "resource",
          "request",
          "request-status",
          "s3key",
          "backupunit",
          "label",
          "k8s",
          "nodepool",
          "template",
          "networkloadbalancer",
          "forwarding-rule",
          "natgateway",
          "natgateway-rule",
          "node",
          "applicationloadbalancer",
          "target-group",
          "security-group",
          "gpu"
        ]
      },
      "PaginationOffsetMandatory": {
        "type": "number",
        "description": "The offset, specified in the request (if not is specified, 0 is used by default).",
        "example": 0
      },
      "PaginationLimitMandatory": {
        "type": "number",
        "description": "The limit, specified in the request (if not specified, the endpoint's default pagination limit is used).",
        "example": 1000
      },
      "PaginationOffsetOptional": {
        "type": "number",
        "description": "The offset (if specified in the request).",
        "example": 0
      },
      "PaginationLimitOptional": {
        "type": "number",
        "description": "The limit (if specified in the request).",
        "example": 1000
      },
      "PaginationLinks": {
        "type": "object",
        "properties": {
          "prev": {
            "type": "string",
            "description": "URL (with offset and limit parameters) of the previous page; only present if offset is greater than 0.",
            "format": "uri",
            "readOnly": true,
            "example": "<PREVIOUS-PAGE-URI>"
          },
          "self": {
            "type": "string",
            "description": "URL (with offset and limit parameters) of the current page.",
            "format": "uri",
            "readOnly": true,
            "example": "<THIS-PAGE-URI>"
          },
          "next": {
            "type": "string",
            "description": "URL (with offset and limit parameters) of the next page; only present if offset + limit is less than the total number of elements.",
            "format": "uri",
            "readOnly": true,
            "example": "<NEXT-PAGE-URI>"
          }
        }
      },
      "SecurityGroups": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/SecurityGroup"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "SecurityGroup": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "security-group",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/SecurityGroupProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/SecurityGroupEntities"
          }
        }
      },
      "SecurityGroupRequest": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/SecurityGroupProperties"
          },
          "entities": {
            "$ref": "#/components/schemas/SecurityGroupEntitiesRequest"
          }
        }
      },
      "SecurityGroupProperties": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 60,
            "description": "The name of the security group.",
            "example": "My security group"
          },
          "description": {
            "type": "string",
            "maxLength": 300,
            "description": "The description of the security group.",
            "example": "My security group description"
          }
        }
      },
      "SecurityGroupEntities": {
        "type": "object",
        "properties": {
          "rules": {
            "$ref": "#/components/schemas/FirewallRules"
          },
          "nics": {
            "$ref": "#/components/schemas/Nics"
          },
          "servers": {
            "$ref": "#/components/schemas/Servers"
          }
        }
      },
      "SecurityGroupEntitiesRequest": {
        "type": "object",
        "properties": {
          "rules": {
            "$ref": "#/components/schemas/FirewallRules"
          }
        }
      },
      "ApplicationType": {
        "type": "string",
        "example": "MSSQL-2019-Standard",
        "description": "The type of application that is hosted on this resource.  Only public images can have an Application type different than UNKNOWN.",
        "x-extensible-enum": [
          "MSSQL-2019-Web",
          "MSSQL-2019-Standard",
          "MSSQL-2019-Enterprise",
          "MSSQL-2022-Web",
          "MSSQL-2022-Standard",
          "MSSQL-2022-Enterprise",
          "MSSQL-2025-Standard",
          "MSSQL-2025-Enterprise",
          "Partner",
          "MSSQL-BYOL",
          "UNKNOWN"
        ]
      },
      "GpuTemplate": {
        "type": "object",
        "properties": {
          "vendor": {
            "type": "string",
            "description": "The name of the vendor",
            "example": "NVIDIA"
          },
          "model": {
            "type": "string",
            "description": "The name of the GPU card model",
            "example": "A100"
          },
          "type": {
            "type": "string",
            "x-extensible-enum": [
              "passthrough"
            ],
            "description": "The way the Graphics Processing Unit (GPU) card will function. The 'passthrough' type means that the Server will be connected to the GPU directly (e.g. no virtualization involved).",
            "example": "passthrough"
          },
          "count": {
            "type": "integer",
            "description": "The number of GPUs to be provisioned"
          }
        }
      },
      "GPUs": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "25f67991-0f51-4efc-a8ad-ef1fb31a400c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "items": {
            "type": "array",
            "description": "Array of items in the collection.",
            "items": {
              "$ref": "#/components/schemas/GPU"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/PaginationOffsetOptional"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginationLimitOptional"
          },
          "_links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        }
      },
      "GPU": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The resource's unique identifier.",
            "readOnly": true,
            "example": "25f67991-0f51-4efc-a8ad-ef1fb31a400c"
          },
          "type": {
            "type": "string",
            "description": "The type of object that has been created.",
            "example": "gpu",
            "allOf": [
              {
                "$ref": "#/components/schemas/Type"
              }
            ]
          },
          "href": {
            "type": "string",
            "description": "The URL to the object representation (absolute path).",
            "format": "uri",
            "readOnly": true,
            "example": "<RESOURCE-URI>"
          },
          "metadata": {
            "$ref": "#/components/schemas/DatacenterElementMetadata"
          },
          "properties": {
            "$ref": "#/components/schemas/GPUProperties"
          }
        }
      },
      "GPUProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255,
            "description": "The name of the resource.",
            "readOnly": true,
            "example": "My GPU"
          },
          "vendor": {
            "type": "string",
            "description": "The vendor of the Graphics Processing Unit (GPU) card. The available options can be retrieved from the 'gpuArchitecture' field returned in the GET responses of the resources /datacenters and /locations.",
            "readOnly": true,
            "example": "NVIDIA"
          },
          "model": {
            "type": "string",
            "description": "The model of Graphics Processing Unit (GPU) card. The available options can be retrieved from the 'gpuArchitecture' field returned in the GET responses of the resources /datacenters and /locations.",
            "readOnly": true,
            "example": "A100"
          },
          "type": {
            "type": "string",
            "x-extensible-enum": [
              "passthrough"
            ],
            "description": "The way the Graphics Processing Unit (GPU) card will function. The 'passthrough' type means that the Server will be connected to the GPU directly (e.g. no virtualization involved).",
            "readOnly": true,
            "example": "passthrough"
          }
        }
      }
    },
    "responses": {
      "apiError": {
        "description": "Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).",
        "content": {
          "*/*": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "apiErrorK8sVersion": {
        "description": "Any erroneous status code: 401 (auth error), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type), 422 (validation error), 500 (server error), 503 (maintenance)",
        "content": {
          "*/*": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    },
    "parameters": {
      "depth": {
        "name": "depth",
        "in": "query",
        "description": "Controls the detail depth of the response objects. \nGET /datacenters/[ID]\n\t- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n\t- depth=1: Direct properties and children references are included.\n\t- depth=2: Direct properties and children properties are included.\n\t- depth=3: Direct properties and children properties and children's children are included.\n\t- depth=... and so on",
        "schema": {
          "maximum": 10,
          "minimum": 0,
          "type": "integer",
          "format": "int32",
          "default": 0
        }
      },
      "pretty": {
        "name": "pretty",
        "in": "query",
        "description": "Controls whether the response is pretty-printed (with indentations and new lines).",
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "contractNumber": {
        "name": "X-Contract-Number",
        "in": "header",
        "description": "Users with multiple contracts must provide the contract number, for which all API requests are to be executed.",
        "schema": {
          "type": "integer",
          "format": "int32"
        }
      },
      "networkLoadBalancerId": {
        "name": "networkLoadBalancerId",
        "in": "path",
        "description": "The unique ID of the Network Load Balancer.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "applicationLoadBalancerId": {
        "name": "applicationLoadBalancerId",
        "in": "path",
        "description": "The unique ID of the Application Load Balancer.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "targetGroupId": {
        "name": "targetGroupId",
        "in": "path",
        "description": "The unique ID of the target group.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "natGatewayId": {
        "name": "natGatewayId",
        "in": "path",
        "description": "The unique ID of the NAT Gateway.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "flowLogId": {
        "name": "flowLogId",
        "in": "path",
        "description": "The unique ID of the Flow Log.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "offset": {
        "name": "offset",
        "in": "query",
        "description": "The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).",
        "schema": {
          "minimum": 0,
          "type": "integer",
          "format": "int32",
          "default": 0
        }
      },
      "limit": {
        "name": "limit",
        "in": "query",
        "description": "The maximum number of elements to return (use together with offset for pagination).",
        "schema": {
          "maximum": 10000,
          "minimum": 1,
          "type": "integer",
          "format": "int32",
          "default": 1000
        }
      },
      "limitUser": {
        "name": "limit",
        "in": "query",
        "description": "The maximum number of elements to return (use together with <code>offset</code> for pagination).",
        "schema": {
          "maximum": 100,
          "minimum": 1,
          "type": "integer",
          "format": "int32",
          "default": 100
        }
      },
      "limitDefault100": {
        "name": "limit",
        "in": "query",
        "description": "The maximum number of elements to return (use together with offset for pagination).",
        "schema": {
          "maximum": 1000,
          "minimum": 1,
          "type": "integer",
          "format": "int32",
          "default": 100
        }
      },
      "limitDefault100MaxLimit200": {
        "name": "limit",
        "in": "query",
        "description": "The maximum number of elements to return (used together with <b><i>offset</i></b> for pagination). It must not exceed <b><i>200</i></b>.",
        "schema": {
          "maximum": 200,
          "minimum": 1,
          "type": "integer",
          "format": "int32",
          "default": 100
        }
      }
    },
    "securitySchemes": {
      "BasicAuthentication": {
        "type": "http",
        "description": "You will need to base64 encode the string containing your credentials. <div style=\"padding: 15px; border: 1px solid #d1ecf1; background-color: #d1ecf1; color: #0c5460; margin-bottom: 15px;\">\n  <strong>Note:</strong><br/><br/>\n  <ul><li><b>Basic Authentication</b> is supported only when <b>2-Factor \n  Authentication</b> is not configured.</li>\n  <li>Users with <b>2-Factor \n  Authentication</b> activated must generate new 2FA-secured tokens in the DCD using [Token Manager](https://docs.ionos.com/cloud/set-up-ionos-cloud/management/identity-access-management/token-manager). \n  These tokens do not inherit the <b>2FA-secured</b> property by default.</li><li>Token deletion is only possible using the <b>Token Manager</b>.</li>\n</div> Separate your username and password with a colon, i.e., username:password and send it as 'Authorization' request header. More details: https://en.wikipedia.org/wiki/Basic_access_authentication",
        "scheme": "basic"
      },
      "TokenAuthentication": {
        "type": "apiKey",
        "description": "Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "x-original-swagger-version": "2.0"
}
