SAKURA internet · Schema

CreateApplicationVersionRequest

CompanyCloud ComputingInfrastructure as a ServiceHostingData CentersJapanObject StorageGPU

Properties

Name Type Description
image string
cpu integer
memory integer
scalingMode object
fixedScale integer
minScale integer
maxScale integer
scaleInThreshold integer
scaleOutThreshold integer
cmd array コンテナ起動時に実行するコマンドと引数
registryUsername stringnull レジストリのユーザ名。未設定の場合はnull。
registryPassword stringnull レジストリのパスワード。レスポンスではマスクされる。未設定の場合はnull。
registryPasswordAction object レジストリパスワードの設定方法
exposedPorts array アプリケーションが公開するポート番号。同一クラスタ内で、ポートの重複不可。
env array 環境変数
View JSON Schema on GitHub

JSON Schema

sakura-internet-create-application-version-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/sakura-internet/main/json-schema/sakura-internet-create-application-version-request-schema.json",
  "title": "CreateApplicationVersionRequest",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/sakura-internet-apprun-dedicated-openapi.yml#/components/schemas/CreateApplicationVersionRequest",
  "type": "object",
  "required": [
    "image",
    "cpu",
    "memory",
    "scalingMode",
    "registryUsername",
    "registryPassword",
    "registryPasswordAction",
    "exposedPorts",
    "env"
  ],
  "properties": {
    "image": {
      "type": "string",
      "maxLength": 512
    },
    "cpu": {
      "type": "integer",
      "format": "int64",
      "minimum": 100,
      "maximum": 64000
    },
    "memory": {
      "type": "integer",
      "format": "int64",
      "minimum": 128,
      "maximum": 131072
    },
    "scalingMode": {
      "$ref": "#/$defs/ScalingMode"
    },
    "fixedScale": {
      "type": "integer",
      "format": "int32",
      "minimum": 1,
      "maximum": 50
    },
    "minScale": {
      "type": "integer",
      "format": "int32",
      "minimum": 1,
      "maximum": 50
    },
    "maxScale": {
      "type": "integer",
      "format": "int32",
      "minimum": 1,
      "maximum": 50
    },
    "scaleInThreshold": {
      "type": "integer",
      "format": "int32",
      "minimum": 30,
      "maximum": 70
    },
    "scaleOutThreshold": {
      "type": "integer",
      "format": "int32",
      "minimum": 50,
      "maximum": 99
    },
    "cmd": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "description": "コンテナ起動時に実行するコマンドと引数"
    },
    "registryUsername": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 255,
      "description": "レジストリのユーザ名。未設定の場合はnull。"
    },
    "registryPassword": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 255,
      "description": "レジストリのパスワード。レスポンスではマスクされる。未設定の場合はnull。"
    },
    "registryPasswordAction": {
      "allOf": [
        {
          "$ref": "#/$defs/RegistryPasswordAction"
        }
      ],
      "description": "レジストリパスワードの設定方法"
    },
    "exposedPorts": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ExposedPort"
      },
      "maxItems": 5,
      "description": "アプリケーションが公開するポート番号。同一クラスタ内で、ポートの重複不可。"
    },
    "env": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CreateEnvironmentVariable"
      },
      "maxItems": 50,
      "description": "環境変数"
    }
  },
  "$defs": {
    "CreateEnvironmentVariable": {
      "type": "object",
      "required": [
        "key",
        "secret"
      ],
      "properties": {
        "key": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "secret": {
          "type": "boolean",
          "description": "秘密情報か否か。true の場合、value を API 等で取得することは出来ない。"
        },
        "value": {
          "allOf": [
            {
              "$ref": "#/$defs/EnvironmentVariableValue"
            }
          ],
          "description": "環境変数の値。secret が true で、かつ value が指定されていない場合は前のバージョンの値が利用される。"
        }
      },
      "description": "環境変数作成用モデル"
    },
    "EnvironmentVariableValue": {
      "type": "string",
      "maxLength": 4096
    },
    "ExposedPort": {
      "type": "object",
      "required": [
        "targetPort",
        "loadBalancerPort",
        "useLetsEncrypt",
        "healthCheck"
      ],
      "properties": {
        "targetPort": {
          "allOf": [
            {
              "$ref": "#/$defs/Port"
            }
          ],
          "description": "アプリケーション内部でリッスンするポート番号。このポートがホストでリッスンされます。同一クラスタ内で、ポートの重複不可。"
        },
        "loadBalancerPort": {
          "type": [
            "integer",
            "null"
          ],
          "allOf": [
            {
              "$ref": "#/$defs/Port"
            }
          ],
          "description": "公開先となるロードバランサのポート番号。ロードバランサに設定しない場合は null を指定する。"
        },
        "useLetsEncrypt": {
          "type": "boolean",
          "description": "Let's Encrypt を利用するかどうか(https の場合のみサポート)"
        },
        "host": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Hostname"
          },
          "maxItems": 5,
          "description": "- HTTP/HTTPS のロードバランサポートを利用する場合は **必須**(1〜5件)。\n- TCP または loadBalancerPort = null の場合は **指定不可**。",
          "title": "ロードバランサでホスト名ルーティングに使用されるホスト名"
        },
        "healthCheck": {
          "type": [
            "object",
            "null"
          ],
          "allOf": [
            {
              "$ref": "#/$defs/HealthCheck"
            }
          ],
          "description": "ロードバランサがアプリケーションの正常性を確認するための設定です。ヘルスチェックが有効な場合、指定したパスにアクセスし、HTTPステータスコードが 2xx または 3xx 以外の場合は、そのノードへのトラフィックが停止されます。これにより、異常なノードへのアクセスを自動的に防止できます。",
          "title": "ヘルスチェックの設定"
        }
      }
    },
    "HealthCheck": {
      "type": "object",
      "required": [
        "path",
        "intervalSeconds",
        "timeoutSeconds"
      ],
      "properties": {
        "path": {
          "type": "string",
          "maxLength": 200,
          "description": "ヘルスチェックのパス(HTTP の場合)"
        },
        "intervalSeconds": {
          "type": "integer",
          "format": "int32",
          "minimum": 3,
          "maximum": 60,
          "description": "ヘルスチェックの間隔(秒)",
          "default": 30
        },
        "timeoutSeconds": {
          "type": "integer",
          "format": "int32",
          "maximum": 60,
          "description": "ヘルスチェックのタイムアウト(秒)",
          "default": 5
        }
      }
    },
    "Hostname": {
      "type": "string",
      "minLength": 1,
      "maxLength": 253,
      "pattern": "^(?=.{1,253}$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$",
      "format": "hostname",
      "description": "ロードバランサでホスト名ルーティングに使用されるホスト名。\nRFC1123 DNS subdomain names に準拠した形式である必要があります。"
    },
    "Port": {
      "type": "integer",
      "format": "uint16",
      "minimum": 1,
      "maximum": 65535
    },
    "RegistryPasswordAction": {
      "type": "string",
      "enum": [
        "keep",
        "remove",
        "new"
      ]
    },
    "ScalingMode": {
      "type": "string",
      "enum": [
        "manual",
        "cpu"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/sakura-internet-create-application-version-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.