{
  "components": {
    "schemas": {
      "containerRegistryAction": {
        "default": "new",
        "description": "コンテナレジストリの認証情報の設定方法\n* new: 指定された認証情報を使用します。\n* keep: 最新のバージョンで保存された認証情報を使用します。\n",
        "enum": [
          "new",
          "keep"
        ],
        "nullable": true,
        "type": "string"
      },
      "createApplicationBody": {
        "properties": {
          "components": {
            "description": "アプリケーションのコンポーネント情報",
            "items": {
              "properties": {
                "deploy_source": {
                  "description": "コンポーネントを構成するソース",
                  "properties": {
                    "container_registry": {
                      "description": "コンテナレジストリ  \n以下のレジストリを利用できます。\n* さくらのクラウドで提供中のコンテナレジストリ\n* Docker Hub\n* GitHub Container Registry\n",
                      "properties": {
                        "image": {
                          "description": "コンテナイメージ名",
                          "example": "apprun-example.sakuracr.jp/helloworld:latest",
                          "maxLength": 128,
                          "minLength": 1,
                          "type": "string"
                        },
                        "password": {
                          "description": "コンテナレジストリのパスワード（認証が必要な場合は入力してください）  \n※ 認証にトークンを使用する場合は、この欄に入力してください。\n",
                          "example": "apprun",
                          "maxLength": 63,
                          "minLength": 1,
                          "nullable": true,
                          "type": "string"
                        },
                        "server": {
                          "description": "コンテナレジストリのサーバー名（認証が必要な場合は入力してください）  \nDocker Hub利用時は `index.docker.io` を指定してください。\n",
                          "example": "apprun-example.sakuracr.jp",
                          "maxLength": 128,
                          "minLength": 1,
                          "nullable": true,
                          "type": "string"
                        },
                        "username": {
                          "description": "コンテナレジストリのユーザー名（認証が必要な場合は入力してください）",
                          "example": "apprun",
                          "maxLength": 63,
                          "minLength": 1,
                          "nullable": true,
                          "type": "string"
                        }
                      },
                      "required": [
                        "image"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "env": {
                  "$ref": "#/components/schemas/request.env"
                },
                "max_cpu": {
                  "description": "コンポーネントの最大vCPU数（メモリとの組み合わせで利用できない値もあります）",
                  "enum": [
                    "0.5",
                    "1",
                    "2"
                  ],
                  "example": "0.5",
                  "type": "string"
                },
                "max_memory": {
                  "description": "コンポーネントの最大メモリ（vCPUとの組み合わせで利用できない値もあります）",
                  "enum": [
                    "1Gi",
                    "2Gi",
                    "4Gi"
                  ],
                  "example": "1Gi",
                  "type": "string"
                },
                "name": {
                  "description": "コンポーネント名",
                  "example": "コンポーネント1",
                  "maxLength": 255,
                  "minLength": 1,
                  "type": "string"
                },
                "probe": {
                  "description": "コンポーネントのプローブ設定",
                  "nullable": true,
                  "properties": {
                    "http_get": {
                      "description": "HTTP Getプローブタイプ",
                      "nullable": true,
                      "properties": {
                        "headers": {
                          "items": {
                            "properties": {
                              "name": {
                                "description": "ヘッダーフィールド名",
                                "example": "Custom-Header",
                                "type": "string"
                              },
                              "value": {
                                "description": "ヘッダーフィールド値",
                                "example": "Awesome",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "path": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のパス",
                          "example": "/healthz",
                          "type": "string"
                        },
                        "port": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のポート番号。\nただし、8012, 8013, 8022, 9090, 9091, 8008 は予約済みのため設定不可。\n",
                          "example": 8080,
                          "maximum": 65535,
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "path",
                        "port"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "secret": {
                  "description": "コンポーネントに渡す環境変数（機密情報の設定に使用可能）",
                  "items": {
                    "properties": {
                      "key": {
                        "description": "環境変数名。\nただし、K_SERVICE, K_CONFIGURATION, K_REVISION, PORTは予約済みのため設定不可。\n",
                        "example": "MY_SECRET",
                        "type": "string"
                      },
                      "value": {
                        "description": "環境変数の値",
                        "example": "my_secret_value",
                        "type": "string"
                      }
                    },
                    "required": [
                      "key",
                      "value"
                    ],
                    "type": "object"
                  },
                  "nullable": true,
                  "type": "array"
                }
              },
              "required": [
                "name",
                "max_cpu",
                "max_memory",
                "deploy_source"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "max_scale": {
            "default": 10,
            "description": "アプリケーション全体の最大スケール数",
            "example": 2,
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "min_scale": {
            "default": 0,
            "description": "アプリケーション全体の最小スケール数",
            "example": 0,
            "maximum": 10,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "description": "アプリケーション名",
            "example": "アプリケーション1",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "port": {
            "description": "アプリケーションがリクエストを待ち受けるポート番号。\nただし、8012, 8013, 8022, 9090, 9091, 8008 は予約済みのため設定不可。\n",
            "example": 8080,
            "maximum": 65535,
            "minimum": 1,
            "type": "integer"
          },
          "scale_target_concurrency": {
            "default": 100,
            "description": "アプリケーションのスケールの閾値の目安となる同時リクエスト数",
            "example": 100,
            "maximum": 200,
            "minimum": 50,
            "type": "integer"
          },
          "timeout_seconds": {
            "default": 60,
            "description": "アプリケーションの公開URLにアクセスして、インスタンスが起動してからレスポンスが返るまでの時間制限",
            "example": 60,
            "maximum": 300,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "name",
          "timeout_seconds",
          "port",
          "min_scale",
          "max_scale",
          "components"
        ],
        "type": "object"
      },
      "handler.createApplication": {
        "properties": {
          "components": {
            "description": "アプリケーションのコンポーネント情報",
            "items": {
              "properties": {
                "deploy_source": {
                  "description": "コンポーネントを構成するソース",
                  "properties": {
                    "container_registry": {
                      "description": "コンテナレジストリ",
                      "properties": {
                        "image": {
                          "description": "コンテナイメージ名",
                          "example": "apprun-example.sakuracr.jp/helloworld:latest",
                          "type": "string"
                        },
                        "server": {
                          "description": "コンテナレジストリの認証に使用するサーバー名",
                          "example": "apprun-example.sakuracr.jp",
                          "type": "string"
                        },
                        "username": {
                          "description": "コンテナレジストリの認証に使用するユーザー名",
                          "example": "apprun",
                          "type": "string"
                        }
                      },
                      "required": [
                        "image"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "env": {
                  "$ref": "#/components/schemas/response.env"
                },
                "max_cpu": {
                  "description": "コンポーネントの最大vCPU数",
                  "example": "0.5",
                  "type": "string"
                },
                "max_memory": {
                  "description": "コンポーネントの最大メモリ",
                  "example": "1Gi",
                  "type": "string"
                },
                "name": {
                  "description": "コンポーネント名",
                  "example": "コンポーネント1",
                  "type": "string"
                },
                "probe": {
                  "description": "コンポーネントのプローブ設定",
                  "nullable": true,
                  "properties": {
                    "http_get": {
                      "description": "HTTP Getプローブタイプ",
                      "nullable": true,
                      "properties": {
                        "headers": {
                          "items": {
                            "properties": {
                              "name": {
                                "description": "ヘッダーフィールド名",
                                "example": "Custom-Header",
                                "type": "string"
                              },
                              "value": {
                                "description": "ヘッダーフィールド値",
                                "example": "Awesome",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "path": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のパス",
                          "example": "/healthz",
                          "type": "string"
                        },
                        "port": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のポート番号",
                          "example": 8080,
                          "maximum": 65535,
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "path",
                        "port"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "secret": {
                  "$ref": "#/components/schemas/response.secret"
                }
              },
              "required": [
                "name",
                "max_cpu",
                "max_memory",
                "deploy_source"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "created_at": {
            "description": "作成日時",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "アプリケーションID",
            "example": "u8FXIJ2LVM3wXVyzOEi",
            "type": "string"
          },
          "max_scale": {
            "default": 10,
            "description": "アプリケーション全体の最大スケール数",
            "example": 2,
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "min_scale": {
            "default": 0,
            "description": "アプリケーション全体の最小スケール数",
            "example": 0,
            "maximum": 10,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "description": "アプリケーション名",
            "example": "アプリケーション1",
            "type": "string"
          },
          "port": {
            "description": "アプリケーションがリクエストを待ち受けるポート番号",
            "example": 8080,
            "maximum": 65535,
            "minimum": 1,
            "type": "integer"
          },
          "public_url": {
            "description": "公開URL",
            "example": "https://fq1I4vpQkN1YiGp.apprun.sakura.ne.jp",
            "type": "string"
          },
          "resource_id": {
            "description": "リソースID",
            "example": "100000000000",
            "type": "string"
          },
          "scale_target_concurrency": {
            "default": 100,
            "description": "アプリケーションのスケールの閾値の目安となる同時リクエスト数",
            "example": 100,
            "maximum": 200,
            "minimum": 50,
            "type": "integer"
          },
          "status": {
            "description": "アプリケーションステータス",
            "enum": [
              "Healthy",
              "UnHealthy",
              "Deploying"
            ],
            "example": "Healthy",
            "type": "string"
          },
          "timeout_seconds": {
            "default": 60,
            "description": "アプリケーションの公開URLにアクセスして、インスタンスが起動してからレスポンスが返るまでの時間制限",
            "example": 60,
            "maximum": 300,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "timeout_seconds",
          "port",
          "min_scale",
          "max_scale",
          "components",
          "status",
          "public_url",
          "resource_id",
          "created_at"
        ],
        "type": "object"
      },
      "handler.createUser": {
        "properties": {
          "limit": {
            "properties": {
              "application_count": {
                "description": "プロジェクトで作成できるアプリケーション数の上限",
                "example": 5,
                "type": "integer"
              }
            },
            "required": [
              "application_count"
            ],
            "type": "object"
          }
        },
        "required": [
          "limit"
        ],
        "type": "object"
      },
      "handler.listApplications": {
        "properties": {
          "data": {
            "items": {
              "properties": {
                "created_at": {
                  "description": "作成日時",
                  "format": "date-time",
                  "type": "string"
                },
                "id": {
                  "description": "アプリケーションID",
                  "example": "u8FXIJ2LVM3wXVyzOEi",
                  "type": "string"
                },
                "name": {
                  "description": "アプリケーション名",
                  "example": "アプリケーション1",
                  "type": "string"
                },
                "public_url": {
                  "description": "公開URL",
                  "example": "https://fq1I4vpQkN1YiGp.apprun.sakura.ne.jp",
                  "type": "string"
                },
                "status": {
                  "description": "アプリケーションステータス",
                  "enum": [
                    "Healthy",
                    "UnHealthy",
                    "Deploying"
                  ],
                  "example": "Healthy",
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name",
                "status",
                "public_url",
                "created_at"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "meta": {
            "properties": {
              "object_total": {
                "example": 1000,
                "type": "integer"
              },
              "page_num": {
                "example": 1,
                "type": "integer"
              },
              "page_size": {
                "example": 100,
                "type": "integer"
              },
              "sort_field": {
                "example": "created_at",
                "type": "string"
              },
              "sort_order": {
                "enum": [
                  "asc",
                  "desc"
                ],
                "example": "asc",
                "type": "string"
              }
            },
            "required": [
              "page_num",
              "page_size",
              "object_total",
              "sort_field",
              "sort_order"
            ],
            "type": "object"
          }
        },
        "required": [
          "meta",
          "data"
        ],
        "type": "object"
      },
      "handler.listTraffic": {
        "properties": {
          "data": {
            "items": {
              "properties": {
                "is_latest_version": {
                  "description": "最新バージョンかどうか",
                  "type": "boolean"
                },
                "percent": {
                  "description": "トラフィック分散の割合",
                  "example": 100,
                  "type": "integer"
                },
                "version_name": {
                  "description": "バージョン名",
                  "example": "Version1",
                  "type": "string"
                }
              },
              "required": [
                "version_name",
                "is_latest_version",
                "percent"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "meta": {
            "example": null,
            "nullable": true,
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "handler.listVersions": {
        "properties": {
          "data": {
            "items": {
              "properties": {
                "created_at": {
                  "description": "作成日時",
                  "format": "date-time",
                  "type": "string"
                },
                "id": {
                  "description": "バージョンID",
                  "example": "BIi7jHVWGjg7NaxcK",
                  "type": "string"
                },
                "name": {
                  "description": "バージョン名",
                  "example": "version-001",
                  "type": "string"
                },
                "status": {
                  "description": "ステータス",
                  "enum": [
                    "Healthy",
                    "UnHealthy",
                    "Deploying"
                  ],
                  "example": "Healthy",
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name",
                "status",
                "created_at"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "meta": {
            "properties": {
              "object_total": {
                "example": 1000,
                "type": "integer"
              },
              "page_num": {
                "example": 1,
                "type": "integer"
              },
              "page_size": {
                "example": 100,
                "type": "integer"
              },
              "sort_field": {
                "example": "created_at",
                "type": "string"
              },
              "sort_order": {
                "enum": [
                  "asc",
                  "desc"
                ],
                "example": "asc",
                "type": "string"
              }
            },
            "required": [
              "page_num",
              "page_size",
              "object_total",
              "sort_field",
              "sort_order"
            ],
            "type": "object"
          }
        },
        "required": [
          "meta",
          "data"
        ],
        "type": "object"
      },
      "handler.patchApplication": {
        "properties": {
          "components": {
            "description": "アプリケーションのコンポーネント情報",
            "items": {
              "properties": {
                "deploy_source": {
                  "description": "コンポーネントを構成するソース",
                  "properties": {
                    "container_registry": {
                      "description": "コンテナレジストリ",
                      "properties": {
                        "image": {
                          "description": "コンテナイメージ名",
                          "example": "apprun-example.sakuracr.jp/helloworld:latest",
                          "type": "string"
                        },
                        "server": {
                          "description": "コンテナレジストリの認証に使用するサーバー名",
                          "example": "apprun-example.sakuracr.jp",
                          "type": "string"
                        },
                        "username": {
                          "description": "コンテナレジストリの認証に使用するユーザー名",
                          "example": "apprun",
                          "type": "string"
                        }
                      },
                      "required": [
                        "image"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "env": {
                  "$ref": "#/components/schemas/response.env"
                },
                "max_cpu": {
                  "description": "コンポーネントの最大vCPU数",
                  "example": "0.5",
                  "type": "string"
                },
                "max_memory": {
                  "description": "コンポーネントの最大メモリ",
                  "example": "1Gi",
                  "type": "string"
                },
                "name": {
                  "description": "コンポーネント名",
                  "example": "コンポーネント1",
                  "type": "string"
                },
                "probe": {
                  "description": "コンポーネントのプローブ設定",
                  "nullable": true,
                  "properties": {
                    "http_get": {
                      "description": "HTTP Getプローブタイプ",
                      "nullable": true,
                      "properties": {
                        "headers": {
                          "items": {
                            "properties": {
                              "name": {
                                "description": "ヘッダーフィールド名",
                                "example": "Custom-Header",
                                "type": "string"
                              },
                              "value": {
                                "description": "ヘッダーフィールド値",
                                "example": "Awesome",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "path": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のパス",
                          "example": "/healthz",
                          "type": "string"
                        },
                        "port": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のポート番号",
                          "example": 8080,
                          "maximum": 65535,
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "path",
                        "port"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "secret": {
                  "$ref": "#/components/schemas/response.secret"
                }
              },
              "required": [
                "name",
                "max_cpu",
                "max_memory",
                "deploy_source"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "id": {
            "description": "アプリケーションID",
            "example": "u8FXIJ2LVM3wXVyzOEi",
            "type": "string"
          },
          "max_scale": {
            "description": "アプリケーション全体の最大スケール数",
            "example": 2,
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "min_scale": {
            "description": "アプリケーション全体の最小スケール数",
            "example": 0,
            "maximum": 10,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "description": "アプリケーション名",
            "example": "アプリケーション1",
            "type": "string"
          },
          "port": {
            "description": "アプリケーションがリクエストを待ち受けるポート番号",
            "example": 8080,
            "maximum": 65535,
            "minimum": 1,
            "type": "integer"
          },
          "public_url": {
            "description": "公開URL",
            "example": "https://fq1I4vpQkN1YiGp.apprun.sakura.ne.jp",
            "type": "string"
          },
          "resource_id": {
            "description": "リソースID",
            "example": "100000000000",
            "type": "string"
          },
          "scale_target_concurrency": {
            "description": "アプリケーションのスケールの閾値の目安となる同時リクエスト数",
            "example": 100,
            "maximum": 200,
            "minimum": 50,
            "type": "integer"
          },
          "status": {
            "description": "アプリケーションステータス",
            "enum": [
              "Healthy",
              "UnHealthy",
              "Deploying"
            ],
            "example": "Healthy",
            "type": "string"
          },
          "timeout_seconds": {
            "description": "アプリケーションの公開URLにアクセスして、インスタンスが起動してからレスポンスが返るまでの時間制限",
            "example": 60,
            "maximum": 300,
            "minimum": 1,
            "type": "integer"
          },
          "updated_at": {
            "description": "更新日時",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "timeout_seconds",
          "port",
          "min_scale",
          "max_scale",
          "components",
          "status",
          "public_url",
          "resource_id",
          "updated_at"
        ],
        "type": "object"
      },
      "handler.patchPacketFilter": {
        "properties": {
          "is_enabled": {
            "description": "有効フラグ",
            "example": true,
            "type": "boolean"
          },
          "settings": {
            "items": {
              "properties": {
                "from_ip": {
                  "description": "送信元IPv4アドレス",
                  "example": "0.0.0.0",
                  "type": "string"
                },
                "from_ip_prefix_length": {
                  "description": "IPv4アドレスprefix長",
                  "example": 0,
                  "type": "integer"
                }
              },
              "required": [
                "from_ip",
                "from_ip_prefix_length"
              ]
            },
            "maxItems": 10,
            "type": "array"
          }
        },
        "required": [
          "is_enabled",
          "settings"
        ],
        "type": "object"
      },
      "handler.readApplication": {
        "properties": {
          "components": {
            "description": "アプリケーションのコンポーネント情報",
            "items": {
              "properties": {
                "deploy_source": {
                  "description": "コンポーネントを構成するソース",
                  "properties": {
                    "container_registry": {
                      "description": "コンテナレジストリ",
                      "properties": {
                        "image": {
                          "description": "コンテナイメージ名",
                          "example": "apprun-example.sakuracr.jp/helloworld:latest",
                          "type": "string"
                        },
                        "server": {
                          "description": "コンテナレジストリの認証に使用するサーバー名",
                          "example": "apprun-example.sakuracr.jp",
                          "type": "string"
                        },
                        "username": {
                          "description": "コンテナレジストリの認証に使用するユーザー名",
                          "example": "apprun",
                          "type": "string"
                        }
                      },
                      "required": [
                        "image"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "env": {
                  "$ref": "#/components/schemas/response.env"
                },
                "max_cpu": {
                  "description": "コンポーネントの最大vCPU数",
                  "example": "0.5",
                  "type": "string"
                },
                "max_memory": {
                  "description": "コンポーネントの最大メモリ",
                  "example": "1Gi",
                  "type": "string"
                },
                "name": {
                  "description": "コンポーネント名",
                  "example": "コンポーネント1",
                  "type": "string"
                },
                "probe": {
                  "description": "コンポーネントのプローブ設定",
                  "nullable": true,
                  "properties": {
                    "http_get": {
                      "description": "HTTP Getプローブタイプ",
                      "nullable": true,
                      "properties": {
                        "headers": {
                          "items": {
                            "properties": {
                              "name": {
                                "description": "ヘッダーフィールド名",
                                "example": "Custom-Header",
                                "type": "string"
                              },
                              "value": {
                                "description": "ヘッダーフィールド値",
                                "example": "Awesome",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "path": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のパス",
                          "example": "/healthz",
                          "type": "string"
                        },
                        "port": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のポート番号",
                          "example": 8080,
                          "maximum": 65535,
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "path",
                        "port"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "secret": {
                  "$ref": "#/components/schemas/response.secret"
                }
              },
              "required": [
                "name",
                "max_cpu",
                "max_memory",
                "deploy_source"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "created_at": {
            "description": "作成日時",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "アプリケーションID",
            "example": "u8FXIJ2LVM3wXVyzOEi",
            "type": "string"
          },
          "max_scale": {
            "default": 10,
            "description": "アプリケーション全体の最大スケール数",
            "example": 2,
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "min_scale": {
            "default": 0,
            "description": "アプリケーション全体の最小スケール数",
            "example": 0,
            "maximum": 10,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "description": "アプリケーション名",
            "example": "アプリケーション1",
            "type": "string"
          },
          "port": {
            "description": "アプリケーションがリクエストを待ち受けるポート番号",
            "example": 8080,
            "maximum": 65535,
            "minimum": 1,
            "type": "integer"
          },
          "public_url": {
            "description": "公開URL",
            "example": "https://fq1I4vpQkN1YiGp.apprun.sakura.ne.jp",
            "type": "string"
          },
          "resource_id": {
            "description": "リソースID",
            "example": "100000000000",
            "type": "string"
          },
          "scale_target_concurrency": {
            "default": 100,
            "description": "アプリケーションのスケールの閾値の目安となる同時リクエスト数",
            "example": 100,
            "maximum": 200,
            "minimum": 50,
            "type": "integer"
          },
          "status": {
            "description": "アプリケーションステータス",
            "enum": [
              "Healthy",
              "UnHealthy",
              "Deploying"
            ],
            "example": "Healthy",
            "type": "string"
          },
          "timeout_seconds": {
            "default": 60,
            "description": "アプリケーションの公開URLにアクセスして、インスタンスが起動してからレスポンスが返るまでの時間制限",
            "example": 60,
            "maximum": 300,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "timeout_seconds",
          "port",
          "min_scale",
          "max_scale",
          "components",
          "status",
          "public_url",
          "resource_id",
          "created_at"
        ],
        "type": "object"
      },
      "handler.readApplicationStatus": {
        "properties": {
          "message": {
            "description": "ステータス失敗時のメッセージ",
            "example": "Failed to authenticate with the registry",
            "type": "string"
          },
          "status": {
            "description": "アプリケーションステータス",
            "enum": [
              "Healthy",
              "UnHealthy",
              "Deploying"
            ],
            "example": "Healthy",
            "type": "string"
          }
        },
        "required": [
          "status",
          "message"
        ],
        "type": "object",
        "x-go-name": "HandlerReadApplicationOnlyStatus",
        "x-ogen-name": "HandlerReadApplicationOnlyStatus"
      },
      "handler.readPacketFilter": {
        "properties": {
          "is_enabled": {
            "description": "有効フラグ",
            "example": true,
            "type": "boolean"
          },
          "settings": {
            "items": {
              "properties": {
                "from_ip": {
                  "description": "送信元IPv4アドレス",
                  "example": "0.0.0.0",
                  "type": "string"
                },
                "from_ip_prefix_length": {
                  "description": "IPv4アドレスprefix長",
                  "example": 0,
                  "maximum": 32,
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "from_ip",
                "from_ip_prefix_length"
              ]
            },
            "maxItems": 10,
            "type": "array"
          }
        },
        "required": [
          "is_enabled",
          "settings"
        ],
        "type": "object"
      },
      "handler.readUser": {
        "properties": {
          "limit": {
            "properties": {
              "application_count": {
                "description": "プロジェクトで作成できるアプリケーション数の上限",
                "example": 5,
                "type": "integer"
              }
            },
            "required": [
              "application_count"
            ],
            "type": "object"
          }
        },
        "required": [
          "limit"
        ],
        "type": "object"
      },
      "handler.readVersion": {
        "properties": {
          "components": {
            "description": "バージョンのコンポーネント情報",
            "items": {
              "properties": {
                "deploy_source": {
                  "description": "コンポーネントを構成するソース",
                  "properties": {
                    "container_registry": {
                      "description": "コンテナレジストリ",
                      "properties": {
                        "image": {
                          "description": "コンテナイメージ名",
                          "example": "apprun-example.sakuracr.jp/helloworld:latest",
                          "type": "string"
                        },
                        "server": {
                          "description": "コンテナレジストリの認証に使用するサーバー名",
                          "example": "apprun-example.sakuracr.jp",
                          "type": "string"
                        },
                        "username": {
                          "description": "コンテナレジストリの認証に使用するユーザー名",
                          "example": "apprun",
                          "type": "string"
                        }
                      },
                      "required": [
                        "image"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "env": {
                  "$ref": "#/components/schemas/response.env"
                },
                "max_cpu": {
                  "description": "コンポーネントの最大vCPU数",
                  "example": "0.5",
                  "type": "string"
                },
                "max_memory": {
                  "description": "コンポーネントの最大メモリ",
                  "example": "1Gi",
                  "type": "string"
                },
                "name": {
                  "description": "コンポーネント名",
                  "example": "コンポーネント1",
                  "type": "string"
                },
                "probe": {
                  "description": "コンポーネントのプローブ設定",
                  "nullable": true,
                  "properties": {
                    "http_get": {
                      "description": "HTTP Getプローブタイプ",
                      "nullable": true,
                      "properties": {
                        "headers": {
                          "items": {
                            "properties": {
                              "name": {
                                "description": "ヘッダーフィールド名",
                                "example": "Custom-Header",
                                "type": "string"
                              },
                              "value": {
                                "description": "ヘッダーフィールド値",
                                "example": "Awesome",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "path": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のパス",
                          "example": "/healthz",
                          "type": "string"
                        },
                        "port": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のポート番号",
                          "example": 8080,
                          "maximum": 65535,
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "path",
                        "port"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "secret": {
                  "$ref": "#/components/schemas/response.secret"
                }
              },
              "required": [
                "name",
                "max_cpu",
                "max_memory",
                "deploy_source"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "created_at": {
            "description": "作成日時",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "バージョンID",
            "example": "BIi7jHVWGjg7NaxcK",
            "type": "string"
          },
          "max_scale": {
            "default": 10,
            "description": "バージョンの最大スケール数",
            "example": 2,
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "min_scale": {
            "default": 0,
            "description": "バージョンの最小スケール数",
            "example": 0,
            "maximum": 10,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "description": "バージョン名",
            "example": "version-001",
            "type": "string"
          },
          "port": {
            "description": "アプリケーションがリクエストを待ち受けるポート番号",
            "example": 8080,
            "maximum": 65535,
            "minimum": 1,
            "type": "integer"
          },
          "scale_target_concurrency": {
            "default": 100,
            "description": "バージョンのスケールの閾値の目安となる同時リクエスト数",
            "example": 100,
            "maximum": 200,
            "minimum": 50,
            "type": "integer"
          },
          "status": {
            "description": "バージョンステータス",
            "enum": [
              "Healthy",
              "UnHealthy",
              "Deploying"
            ],
            "example": "Healthy",
            "type": "string"
          },
          "timeout_seconds": {
            "default": 60,
            "description": "アプリケーションの公開URLにアクセスして、インスタンスが起動してからレスポンスが返るまでの時間制限",
            "example": 60,
            "maximum": 300,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "min_scale",
          "max_scale",
          "timeout_seconds",
          "port",
          "status",
          "created_at",
          "components"
        ],
        "type": "object"
      },
      "handler.readVersionStatus": {
        "properties": {
          "message": {
            "description": "ステータス失敗時のメッセージ",
            "example": "Failed to authenticate with the registry",
            "type": "string"
          },
          "status": {
            "description": "アプリケーションバージョンステータス",
            "enum": [
              "Healthy",
              "UnHealthy",
              "Deploying"
            ],
            "example": "UnHealthy",
            "type": "string"
          }
        },
        "required": [
          "status",
          "message"
        ],
        "type": "object",
        "x-go-name": "HandlerReadApplicationVersionOnlyStatus",
        "x-ogen-name": "HandlerReadApplicationVersionOnlyStatus"
      },
      "handler.updateTraffic": {
        "properties": {
          "data": {
            "items": {
              "properties": {
                "is_latest_version": {
                  "description": "最新バージョンかどうか",
                  "type": "boolean"
                },
                "percent": {
                  "description": "トラフィック分散の割合",
                  "example": 100,
                  "type": "integer"
                },
                "version_name": {
                  "description": "バージョン名",
                  "example": "Version1",
                  "type": "string"
                }
              },
              "required": [
                "version_name",
                "is_latest_version",
                "percent"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "meta": {
            "example": null,
            "nullable": true,
            "type": "object"
          }
        },
        "required": [
          "data",
          "meta"
        ],
        "type": "object"
      },
      "model.cloudctrlError": {
        "properties": {
          "error_code": {
            "example": "access_no_permission",
            "type": "string"
          },
          "error_msg": {
            "example": "要求された操作は許可されていません。このユーザに設定されたアクセス権限により、このゾーンまたは機能へのアクセスは禁止されています。",
            "type": "string"
          },
          "is_fatal": {
            "example": true,
            "type": "boolean"
          },
          "serial": {
            "example": "abcdefghijklmnopqrstuvwxyz0123456789",
            "type": "string"
          },
          "status": {
            "example": "403 Forbidden",
            "type": "string"
          }
        },
        "required": [
          "is_fatal",
          "serial",
          "status",
          "error_code",
          "error_msg"
        ],
        "type": "object"
      },
      "model.defaultError": {
        "properties": {
          "error": {
            "properties": {
              "code": {
                "example": 401,
                "type": "integer"
              },
              "errors": {
                "$ref": "#/components/schemas/model.errors"
              },
              "message": {
                "example": "Login Required",
                "type": "string"
              }
            },
            "required": [
              "code",
              "message"
            ],
            "type": "object"
          }
        },
        "required": [
          "error"
        ],
        "type": "object"
      },
      "model.errors": {
        "items": {
          "properties": {
            "domain": {
              "example": "global",
              "nullable": true,
              "type": "string"
            },
            "location": {
              "example": "Authorization",
              "nullable": true,
              "type": "string"
            },
            "location_type": {
              "enum": [
                "header",
                "body",
                "query",
                "parameter"
              ],
              "example": "header",
              "nullable": true,
              "type": "string"
            },
            "message": {
              "example": "Login Required",
              "nullable": true,
              "type": "string"
            },
            "reason": {
              "example": "required",
              "nullable": true,
              "type": "string"
            }
          },
          "required": [
            "domain",
            "reason",
            "message"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "patchApplicationBody": {
        "properties": {
          "all_traffic_available": {
            "description": "アプリケーションを最新のバージョンにすべてのトラフィックを割り当てるかどうか",
            "type": "boolean"
          },
          "components": {
            "description": "アプリケーションのコンポーネント情報",
            "items": {
              "properties": {
                "deploy_source": {
                  "description": "コンポーネントを構成するソース",
                  "properties": {
                    "container_registry": {
                      "description": "コンテナレジストリ  \n以下のレジストリを利用できます。\n* さくらのクラウドで提供中のコンテナレジストリ\n* Docker Hub\n* GitHub Container Registry\n",
                      "properties": {
                        "action": {
                          "$ref": "#/components/schemas/containerRegistryAction"
                        },
                        "image": {
                          "description": "コンテナイメージ名",
                          "example": "apprun-example.sakuracr.jp/helloworld:latest",
                          "maxLength": 128,
                          "minLength": 1,
                          "type": "string"
                        },
                        "password": {
                          "description": "コンテナレジストリのパスワード（認証が必要な場合は入力してください）  \n※ 認証にトークンを使用する場合は、この欄に入力してください。\n",
                          "example": "apprun",
                          "maxLength": 63,
                          "minLength": 1,
                          "nullable": true,
                          "type": "string"
                        },
                        "server": {
                          "description": "コンテナレジストリのサーバー名（認証が必要な場合は入力してください）\nDocker Hub利用時は `index.docker.io` を指定してください。\n",
                          "example": "apprun-example.sakuracr.jp",
                          "maxLength": 128,
                          "minLength": 1,
                          "nullable": true,
                          "type": "string"
                        },
                        "username": {
                          "description": "コンテナレジストリのユーザー名（認証が必要な場合は入力してください）",
                          "example": "apprun",
                          "maxLength": 63,
                          "minLength": 1,
                          "nullable": true,
                          "type": "string"
                        }
                      },
                      "required": [
                        "image"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "env": {
                  "$ref": "#/components/schemas/request.env"
                },
                "max_cpu": {
                  "description": "コンポーネントの最大vCPU数（メモリとの組み合わせで利用できない値もあります）",
                  "enum": [
                    "0.5",
                    "1",
                    "2"
                  ],
                  "example": "0.5",
                  "type": "string"
                },
                "max_memory": {
                  "description": "コンポーネントの最大メモリ（vCPUとの組み合わせで利用できない値もあります）",
                  "enum": [
                    "1Gi",
                    "2Gi",
                    "4Gi"
                  ],
                  "example": "1Gi",
                  "type": "string"
                },
                "name": {
                  "description": "コンポーネント名",
                  "example": "コンポーネント1",
                  "maxLength": 255,
                  "minLength": 1,
                  "type": "string"
                },
                "probe": {
                  "description": "コンポーネントのプローブ設定",
                  "nullable": true,
                  "properties": {
                    "http_get": {
                      "description": "HTTP Getプローブタイプ",
                      "nullable": true,
                      "properties": {
                        "headers": {
                          "items": {
                            "properties": {
                              "name": {
                                "description": "ヘッダーフィールド名",
                                "example": "Custom-Header",
                                "type": "string"
                              },
                              "value": {
                                "description": "ヘッダーフィールド値",
                                "example": "Awesome",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "path": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のパス",
                          "example": "/healthz",
                          "type": "string"
                        },
                        "port": {
                          "description": "HTTPサーバーへアクセスしプローブをチェックする際のポート番号。\nただし、8012, 8013, 8022, 9090, 9091, 8008 は予約済みのため設定不可。\n",
                          "example": 8080,
                          "maximum": 65535,
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "path",
                        "port"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "secret": {
                  "description": "コンポーネントに渡す環境変数（機密情報の設定に使用可能）",
                  "items": {
                    "properties": {
                      "key": {
                        "description": "環境変数名。\nただし、K_SERVICE, K_CONFIGURATION, K_REVISION, PORTは予約済みのため設定不可。\n",
                        "example": "MY_SECRET",
                        "type": "string"
                      },
                      "value": {
                        "description": "環境変数の値。valueを指定しない場合は、最新のバージョンで保存された値が使用されます。",
                        "example": "my_secret_value",
                        "type": "string"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object"
                  },
                  "nullable": true,
                  "type": "array"
                }
              },
              "required": [
                "name",
                "max_cpu",
                "max_memory",
                "deploy_source"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "max_scale": {
            "description": "アプリケーション全体の最大スケール数",
            "example": 2,
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "min_scale": {
            "description": "アプリケーション全体の最小スケール数",
            "example": 0,
            "maximum": 10,
            "minimum": 0,
            "type": "integer"
          },
          "port": {
            "description": "アプリケーションがリクエストを待ち受けるポート番号。\nただし、8012, 8013, 8022, 9090, 9091, 8008 は予約済みのため設定不可。\n",
            "example": 8080,
            "maximum": 65535,
            "minimum": 1,
            "type": "integer"
          },
          "scale_target_concurrency": {
            "description": "アプリケーションのスケールの閾値の目安となる同時リクエスト数",
            "example": 100,
            "maximum": 200,
            "minimum": 50,
            "type": "integer"
          },
          "timeout_seconds": {
            "description": "アプリケーションの公開URLにアクセスして、インスタンスが起動してからレスポンスが返るまでの時間制限",
            "example": 60,
            "maximum": 300,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "patchPacketFilterBody": {
        "properties": {
          "is_enabled": {
            "description": "有効フラグ",
            "example": true,
            "type": "boolean"
          },
          "settings": {
            "items": {
              "properties": {
                "from_ip": {
                  "description": "送信元IPv4アドレス",
                  "example": "0.0.0.0",
                  "type": "string"
                },
                "from_ip_prefix_length": {
                  "description": "IPv4アドレスprefix長",
                  "example": 0,
                  "type": "integer"
                }
              },
              "required": [
                "from_ip",
                "from_ip_prefix_length"
              ]
            },
            "maxItems": 10,
            "type": "array"
          }
        },
        "type": "object"
      },
      "request.env": {
        "description": "コンポーネントに渡す環境変数",
        "items": {
          "properties": {
            "key": {
              "description": "環境変数名。\nただし、K_SERVICE, K_CONFIGURATION, K_REVISION, PORTは予約済みのため設定不可。\n",
              "example": "MY_ENV",
              "type": "string"
            },
            "value": {
              "description": "環境変数の値",
              "example": "my_value",
              "type": "string"
            }
          },
          "required": [
            "key",
            "value"
          ],
          "type": "object"
        },
        "nullable": true,
        "type": "array"
      },
      "response.env": {
        "description": "コンポーネントに渡す環境変数",
        "items": {
          "properties": {
            "key": {
              "description": "環境変数名",
              "example": "MY_ENV",
              "type": "string"
            },
            "value": {
              "description": "環境変数の値",
              "example": "my_value",
              "type": "string"
            }
          },
          "required": [
            "key",
            "value"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "response.secret": {
        "description": "コンポーネントに渡す環境変数（レスポンスに値は表示されません）",
        "items": {
          "properties": {
            "key": {
              "description": "環境変数名",
              "example": "MY_SECRET",
              "type": "string"
            }
          },
          "required": [
            "key"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "updateTrafficBody": {
        "items": {
          "oneOf": [
            {
              "properties": {
                "is_latest_version": {
                  "description": "最新バージョンかどうか",
                  "type": "boolean"
                },
                "percent": {
                  "description": "トラフィック分散の割合",
                  "type": "integer"
                }
              },
              "required": [
                "is_latest_version",
                "percent"
              ],
              "type": "object"
            },
            {
              "properties": {
                "percent": {
                  "description": "トラフィック分散の割合",
                  "type": "integer"
                },
                "version_name": {
                  "description": "バージョン名",
                  "example": "Version1",
                  "type": "string"
                }
              },
              "required": [
                "version_name",
                "percent"
              ],
              "type": "object"
            }
          ]
        },
        "type": "array"
      }
    }
  },
  "info": {
    "contact": {
      "name": "SAKURA internet Inc."
    },
    "description": "---\n「AppRun共用型」が提供するAPIの利用方法とサンプルを公開しております。\n\n# 基本的な使い方\n\n## APIキーの発行\n\nAPIを利用するためには、認証のための「APIキー」が必要です。事前にキーを発行しておきます。  \nAPIキーは「ユーザーID」「パスワード」に相当する「トークン」と呼ばれる認証情報で構成されています。\n\n|   項目名   | APIキー発行時の項目名        | このドキュメント内での例             |\n|------------|------------------------------|--------------------------------------|\n| ユーザーID | アクセストークン(UUID)       | 01234567-89ab-cdef-0123-456789abcdef |\n| パスワード | アクセストークンシークレット | SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM |\n\n\u003cdiv class=\"warning\"\u003e\n\u003cb\u003e操作マニュアル\u003c/b\u003e\u003cbr /\u003e\n\u003cul\u003e\u003cli\u003e\u003ca href=\"https://manual.sakura.ad.jp/cloud/api/apikey.html\"\u003eAPIキー | さくらのクラウド ドキュメント\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\n\u003c/div\u003e\n\n## 入力パラメータ\n\nAPIの入力には送信先URLに対して、いくつかのヘッダーとAPIキーを送信します。\n\n* 認証方式はHTTP Basic認証です。APIキーのアクセストークンをユーザーID、アクセストークンシークレットをパスワードとして指定します。\n\n```\n# 入力サンプル\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     'https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications'\n```\n\n## 出力結果\n\nAPIからの結果は「JSON形式(UTF-8)の結果」として出力されます。\n\n```\n# 出力結果サンプル（レスポンスボディー）\n{\n  \"error\": {\n    \"code\": 401,\n    \"message\": \"Login Required\",\n    \"errors\": [\n      {\n        \"domain\": \"global\",\n        \"reason\": \"required\",\n        \"message\": \"Login Required\",\n        \"location_type\": \"header\",\n        \"location\": \"Authorization\"\n      }\n    ]\n  }\n}\n```\n\n# 利用例\n\n## 1.ユーザーの作成\n\nAppRun共用型の利用を開始するには**ユーザー**を作成します。\n\nユーザーとは、AppRun共用型を利用するための独立したユーザーであり、ユーザー作成および削除による料金の発生はございません。  \nなお、すでにユーザーを作成済みの場合は、再度ユーザーの作成は不要です。\n\nユーザーを作成するには以下のような入力を行います。\n\n```\n# 入力サンプル\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X POST \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/user\n```\n\nユーザーの作成が完了すると、\n\n* アプリケーションの作成、更新、削除\n* バージョンの確認、削除\n* トラフィック分散の確認、変更\n\nなどの操作が可能になります。\n\n## 2.アプリケーションの作成、取得、更新、削除\n\nユーザーを作成後、**アプリケーション**の作成、更新、削除が可能になります。\n\nアプリケーションを作成するには以下のような入力を行います。\n\n```\n# 入力サンプル\nvi request_body.json\ncat request_body.json\n{\n  \"name\": \"Application\",\n  \"timeout_seconds\": 60,\n  \"port\": 8080,\n  \"min_scale\": 0,\n  \"max_scale\": 1,\n  \"scale_target_concurrency\": 100,\n  \"components\": [\n    {\n      \"name\": \"Component01\",\n      \"max_cpu\": \"0.5\",\n      \"max_memory\": \"1Gi\",\n      \"deploy_source\": {\n        \"container_registry\": {\n          \"image\": \"my-app.sakuracr.jp/my-app:latest\"\n        }\n      },\n      \"env\": [\n        {\n          \"key\": \"TARGET\",\n          \"value\": \"World\"\n        }\n      ],\n      \"probe\": {\n        \"http_get\": {\n          \"path\": \"/\",\n          \"port\": 8080,\n          \"headers\": [\n            {\n              \"name\": \"Custom-Header\",\n              \"value\": \"Awesome\"\n            }\n          ]\n        }\n      }\n    }\n  ]\n}\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X POST \\\n     -d '@request_body.json' \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications\n```\n\n上記で作成したアプリケーションを取得するには以下のような入力を行います。\n\n```\n# 入力サンプル\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X GET \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications/{id}\n```\n\n上記で作成したアプリケーションを更新するには以下のような入力を行います。\n\n```\n# 入力サンプル\nvi request_body.json\ncat request_body.json\n{\n  \"components\": [\n    {\n      \"name\": \"Component01 updated\",\n      \"max_cpu\": \"0.5\",\n      \"max_memory\": \"1Gi\",\n      \"deploy_source\": {\n        \"container_registry\": {\n          \"image\": \"my-app.sakuracr.jp/my-app-v2:latest\"\n        }\n      }\n    }\n  ],\n  \"all_traffic_available\": true\n}\n\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X PATCH \\\n     -d '@request_body.json' \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications/{id}\n```\n\n上記で作成したアプリケーションを削除するには以下のような入力を行います。\n\n```\n# 入力サンプル\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X DELETE \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications/{id}\n```\n\n## 3.バージョンの取得、削除\n\nアプリケーションを作成、更新した際、その設定情報をバージョンとして保存します。\n\nバージョンを取得するには以下のような入力を行います。\n\n```\n# 入力サンプル\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X GET \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications/{id}/versions/{version_id}\n```\n\n上記で作成したバージョンを削除するには以下のような入力を行います。\n\n```\n# 入力サンプル\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X DELETE \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications/{id}/versions/{version_id}\n```\n\n## 4.トラフィック分散の確認、変更\n\nアプリケーションは指定のバージョンへトラフィックを分散します。\n\nトラフィック分散を確認するには以下のような入力を行います。\n\n```\n# 入力サンプル\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X GET \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications/{id}/traffics\n```\n\nトラフィック分散を変更するには以下のような入力を行います。\n\n```\n# 入力サンプル\nvi request_body.json\ncat request_body.json\n[\n  {\n    \"is_latest_version\": true,\n    \"percent\": 50\n  },\n  {\n    \"version_name\": \"Application-861850d6-8240-7c31-9b69-80ea4466918d-1726726814\",\n    \"percent\": 50\n  }\n]\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X PUT \\\n     -d '@request_body.json' \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications/{id}/traffics\n```\n\n## 5.パケットフィルタの確認、変更\n\nアプリケーションに対してパケットフィルタを指定できます。\n\nパケットフィルタを確認するには以下のような入力を行います。\n\n```\n# 入力サンプル\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X GET \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications/{id}/packet_filter\n```\n\nパケットフィルタを変更するには以下のような入力を行います。\n\n```\n# 入力サンプル\nvi request_body.json\ncat request_body.json\n{\n  \"is_enabled\": true,\n  \"settings\": [\n    {\n      \"from_ip\": \"198.51.100.2\",\n      \"from_ip_prefix_length\": 24\n    }\n  ]\n}\ncurl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \\\n     -X PATCH \\\n     -d '@request_body.json' \\\n     https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api/applications/{id}/packet_filter\n```\n----",
    "license": {
      "name": "Copyright(C) SAKURA internet Inc. all rights reserved."
    },
    "title": "AppRun共用型 APIドキュメント",
    "version": "1.5.0"
  },
  "openapi": "3.0.0",
  "paths": {
    "/applications": {
      "get": {
        "description": "AppRun共用型のアプリケーション一覧を取得します。",
        "operationId": "listApplications",
        "parameters": [
          {
            "description": "表示したいページ番号",
            "example": 20,
            "in": "query",
            "name": "page_num",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "表示したい1ページあたりのサイズ",
            "example": 10,
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "ソートしたいフィールド名",
            "example": "created_at",
            "in": "query",
            "name": "sort_field",
            "required": false,
            "schema": {
              "default": "created_at",
              "type": "string"
            }
          },
          {
            "description": "ソート順（昇順、降順）",
            "example": "asc",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.listApplications"
                }
              }
            },
            "description": "アプリケーション一覧の取得に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーション一覧を取得します。",
        "tags": [
          "アプリケーション"
        ]
      },
      "post": {
        "description": "AppRun共用型にアプリケーションを作成します。",
        "operationId": "createApplication",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createApplicationBody"
              }
            }
          },
          "description": "作成するアプリケーションの情報を入力します。",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.createApplication"
                }
              }
            },
            "description": "アプリケーションの作成に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションが重複し作成が失敗しました。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーションを作成します。",
        "tags": [
          "アプリケーション"
        ]
      }
    },
    "/applications/{id}": {
      "delete": {
        "description": "AppRun共用型のアプリケーションを削除します。",
        "operationId": "deleteApplication",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "アプリケーションの削除に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーションを削除します。",
        "tags": [
          "アプリケーション"
        ]
      },
      "get": {
        "description": "AppRun共用型のアプリケーション詳細を取得します。",
        "operationId": "readApplication",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.readApplication"
                }
              }
            },
            "description": "アプリケーション詳細の取得に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーション詳細を取得します。",
        "tags": [
          "アプリケーション"
        ]
      },
      "patch": {
        "description": "AppRun共用型のアプリケーションを部分的に変更します。",
        "operationId": "patchApplication",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/patchApplicationBody"
              }
            }
          },
          "description": "部分的に変更するアプリケーションの情報を入力します。",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.patchApplication"
                }
              }
            },
            "description": "アプリケーションの変更に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションが見つかりませんでした。"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションが重複し作成が失敗しました。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーションを部分的に変更します。",
        "tags": [
          "アプリケーション"
        ]
      }
    },
    "/applications/{id}/packet_filter": {
      "get": {
        "description": "AppRun共用型のパケットフィルタを取得します。",
        "operationId": "readApplicationPacketFilter",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.readPacketFilter"
                }
              }
            },
            "description": "パケットフィルタの取得に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "パケットフィルタを取得します。",
        "tags": [
          "パケットフィルタ"
        ]
      },
      "patch": {
        "description": "AppRun共用型のパケットフィルタを部分的に変更します。",
        "operationId": "patchApplicationPacketFilter",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/patchPacketFilterBody"
              }
            }
          },
          "description": "部分的に変更するパケットフィルタの情報を入力します。",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.patchPacketFilter"
                }
              }
            },
            "description": "パケットフィルタの変更に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "パケットフィルタを部分的に変更します。",
        "tags": [
          "パケットフィルタ"
        ]
      }
    },
    "/applications/{id}/status": {
      "get": {
        "description": "AppRun共用型のアプリケーションステータスを取得します。",
        "operationId": "readApplicationStatus",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.readApplicationStatus"
                }
              }
            },
            "description": "アプリケーションステータスの取得に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーションステータスを取得します。",
        "tags": [
          "アプリケーション"
        ]
      }
    },
    "/applications/{id}/traffics": {
      "get": {
        "description": "AppRun共用型のアプリケーショントラフィック分散を取得します。",
        "operationId": "listApplicationTraffic",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.listTraffic"
                }
              }
            },
            "description": "アプリケーショントラフィック分散の取得に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーショントラフィック分散を取得します。",
        "tags": [
          "トラフィック"
        ]
      },
      "put": {
        "description": "AppRun共用型のアプリケーショントラフィック分散を変更します。",
        "operationId": "updateApplicationTraffic",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateTrafficBody"
              }
            }
          },
          "description": "トラフィック分散の割合を入力します。\nversion_nameまたはis_latest_versionのどちらかを指定して何％の割合でトラフィックを転送するかを入力します。\n",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.updateTraffic"
                }
              }
            },
            "description": "アプリケーショントラフィック分散の変更に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーショントラフィック分散を変更します。",
        "tags": [
          "トラフィック"
        ]
      }
    },
    "/applications/{id}/versions": {
      "get": {
        "description": "AppRun共用型のアプリケーションバージョン一覧を取得します。",
        "operationId": "listApplicationVersions",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "表示したいページ番号",
            "example": 20,
            "in": "query",
            "name": "page_num",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "表示したい1ページあたりのサイズ",
            "example": 10,
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "ソートしたいフィールド名",
            "example": "created_at",
            "in": "query",
            "name": "sort_field",
            "required": false,
            "schema": {
              "default": "created_at",
              "type": "string"
            }
          },
          {
            "description": "ソート順（昇順、降順）",
            "example": "asc",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.listVersions"
                }
              }
            },
            "description": "アプリケーションバージョン一覧の取得に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションバージョンが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーションバージョン一覧を取得します。",
        "tags": [
          "バージョン"
        ]
      }
    },
    "/applications/{id}/versions/{version_id}": {
      "delete": {
        "description": "AppRun共用型のアプリケーションバージョンを削除します。",
        "operationId": "deleteApplicationVersion",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "version_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "アプリケーションバージョンの削除に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションバージョンが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーションバージョンを削除します。",
        "tags": [
          "バージョン"
        ]
      },
      "get": {
        "description": "AppRun共用型のアプリケーションバージョン詳細を取得します。",
        "operationId": "readApplicationVersion",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "version_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.readVersion"
                }
              }
            },
            "description": "アプリケーションバージョン詳細の取得に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションバージョンが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーションバージョン詳細を取得します。",
        "tags": [
          "バージョン"
        ]
      }
    },
    "/applications/{id}/versions/{version_id}/status": {
      "get": {
        "description": "AppRun共用型のアプリケーションバージョンステータスを取得します。",
        "operationId": "readApplicationVersionStatus",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "version_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.readVersionStatus"
                }
              }
            },
            "description": "アプリケーションバージョンステータスの取得に成功しました。"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "リクエストが不正です。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "アプリケーションバージョンが見つかりませんでした。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "アプリケーションバージョンステータスを取得します。",
        "tags": [
          "バージョン"
        ]
      }
    },
    "/user": {
      "get": {
        "description": "ログイン中のユーザー情報を取得します。",
        "operationId": "readUser",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.readUser"
                }
              }
            },
            "description": "ユーザー情報の取得に成功しました。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型にユーザーが存在しません。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "ユーザー情報を取得します。",
        "tags": [
          "ユーザー"
        ]
      },
      "post": {
        "description": "AppRun共用型にユーザーを作成します。",
        "operationId": "createUser",
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handler.createUser"
                }
              }
            },
            "description": "ユーザーの作成に成功しました。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型の認証に失敗しました。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型に対する権限がありません。"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "AppRun共用型にユーザーがすでに存在します。"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/model.defaultError"
                    },
                    {
                      "$ref": "#/components/schemas/model.cloudctrlError"
                    }
                  ]
                }
              }
            },
            "description": "Internal server error."
          }
        },
        "summary": "ユーザーを作成します。",
        "tags": [
          "ユーザー"
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://secure.sakura.ad.jp/cloud/api/apprun/1.0/apprun/api"
    }
  ],
  "tags": [
    {
      "description": "アプリケーションに関する情報",
      "name": "アプリケーション"
    }
  ]
}
