{
  "components": {
    "parameters": {
      "ApplianceID": {
        "description": "アプライアンスID",
        "in": "path",
        "name": "applianceID",
        "required": true,
        "schema": {
          "example": "113600102549",
          "type": "string"
        }
      },
      "BackupID": {
        "description": "バックアップID",
        "in": "path",
        "name": "backupID",
        "required": true,
        "schema": {
          "example": "123e4567-e89b-12d3-a456-426614174000",
          "format": "uuid",
          "type": "string"
        }
      }
    },
    "responses": {
      "BadRequestResponse": {
        "content": {
          "application/json": {
            "schema": {
              "description": "エラーレスポンス",
              "properties": {
                "error_code": {
                  "description": "エラーコード",
                  "example": "bad_request",
                  "type": "string"
                },
                "error_msg": {
                  "description": "エラーメッセージ",
                  "example": "不適切な要求です。",
                  "type": "string"
                },
                "is_fatal": {
                  "description": "エラーのレスポンス(true:エラー)",
                  "example": true,
                  "type": "boolean"
                },
                "serial": {
                  "description": "追跡コード",
                  "example": "3a5a51fdxxxxx5f6794e82cc8d00d3xx",
                  "type": "string"
                },
                "status": {
                  "description": "ステータス",
                  "example": "400 Bad Request",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Requestエラー"
      },
      "ConflictResponse": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConflictErrorResponse"
            }
          }
        },
        "description": "リソースが競合している"
      },
      "NotFoundResponse": {
        "content": {
          "application/json": {
            "schema": {
              "description": "エラーレスポンス",
              "properties": {
                "error_code": {
                  "description": "エラーコード",
                  "example": "not_found",
                  "type": "string"
                },
                "error_msg": {
                  "description": "エラーメッセージ",
                  "example": "対象が見つかりません。",
                  "type": "string"
                },
                "is_fatal": {
                  "description": "エラーのレスポンス(true:エラー)",
                  "example": true,
                  "type": "boolean"
                },
                "serial": {
                  "description": "追跡コード",
                  "example": "3a5a51fdxxxxx5f6794e82cc8d00d3xx",
                  "type": "string"
                },
                "status": {
                  "description": "ステータス",
                  "example": "404 Not Found",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "リソースが存在しない"
      },
      "ServerErrorResponse": {
        "content": {
          "application/json": {
            "schema": {
              "description": "エラーレスポンス",
              "properties": {
                "error_code": {
                  "description": "エラーコード",
                  "example": "internal_server_error",
                  "type": "string"
                },
                "error_msg": {
                  "description": "エラーメッセージ",
                  "example": "サーバ内部エラーが発生しました。",
                  "type": "string"
                },
                "is_fatal": {
                  "description": "エラーのレスポンス(true:エラー)",
                  "example": true,
                  "type": "boolean"
                },
                "serial": {
                  "description": "追跡コード",
                  "example": "3a5a51fdxxxxx5f6794e82cc8d00d3xx",
                  "type": "string"
                },
                "status": {
                  "description": "ステータス",
                  "example": "500 Internal Server Error",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "サーバエラー"
      },
      "UnauthorizedResponse": {
        "content": {
          "application/json": {
            "schema": {
              "description": "エラーレスポンス",
              "properties": {
                "error_code": {
                  "description": "エラーコード",
                  "example": "unauthorized",
                  "type": "string"
                },
                "error_msg": {
                  "description": "エラーメッセージ",
                  "example": "この操作は認証が必要です。",
                  "type": "string"
                },
                "is_fatal": {
                  "description": "エラーのレスポンス(true:エラー)",
                  "example": true,
                  "type": "boolean"
                },
                "serial": {
                  "description": "追跡コード",
                  "example": "3a5a51fdxxxxx5f6794e82cc8d00d3xx",
                  "type": "string"
                },
                "status": {
                  "description": "ステータス",
                  "example": "401 Unauthorized",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "認証エラー"
      }
    },
    "schemas": {
      "Availability": {
        "description": "NoSQLの利用可能状態\n| 値        | 説明       |\n|-----------|------------|\n| migrating | 準備中     |\n| available | 利用可能   |\n| failed    | 利用不可   |\n",
        "enum": [
          "migrating",
          "available",
          "failed"
        ],
        "example": "available",
        "type": "string"
      },
      "ConflictErrorResponse": {
        "description": "エラーレスポンス",
        "properties": {
          "error_code": {
            "description": "エラーコード",
            "example": "limit_count_in_zone",
            "type": "string"
          },
          "error_msg": {
            "description": "エラーメッセージ",
            "example": "要求を受け付けできません。",
            "type": "string"
          },
          "is_fatal": {
            "description": "エラーのレスポンス(true:エラー)",
            "example": true,
            "type": "boolean"
          },
          "serial": {
            "description": "追跡コード",
            "example": "3a5a51fdxxxxx5f6794e82cc8d00d3xx",
            "type": "string"
          },
          "status": {
            "description": "ステータス",
            "example": "409 Conflict",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Instance": {
        "properties": {
          "Host": {
            "nullable": true,
            "properties": {
              "InfoURL": {
                "example": "",
                "type": "string"
              },
              "Name": {
                "example": "host_name",
                "type": "string"
              }
            },
            "type": "object"
          },
          "Hosts": {
            "items": {
              "properties": {
                "InfoURL": {
                  "type": "string"
                },
                "Name": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "Status": {
            "example": "up",
            "type": "string"
          },
          "StatusChangedAt": {
            "example": "2021-01-01T00:00:00Z",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "NodeHealth": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SuccessResponse"
          },
          {
            "properties": {
              "Nosql": {
                "properties": {
                  "Status": {
                    "description": "NoSQLの状態\n\n| 値        | 説明   |\n|-----------|--------|\n| healthy        | 起動(すべてのノードが起動している)   |\n| healthy-partial | 部分起動(1台のノードが停止している)  |\n| unhealthy       | 停止(2台以上のノードが停止している)   |\n\n※40GBプランではノードが1台のため、部分起動(`healthy-partial`)は発生しません。\n",
                    "enum": [
                      "healthy",
                      "healthy-partial",
                      "unhealthy"
                    ],
                    "example": "healthy",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        ],
        "type": "object"
      },
      "NosqlAppliance": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NosqlApplianceInput"
          },
          {
            "properties": {
              "Availability": {
                "$ref": "#/components/schemas/Availability"
              },
              "CreatedAt": {
                "example": "2021-01-01T00:00:00Z",
                "format": "date-time",
                "type": "string"
              },
              "Disk": {
                "description": "ディスク情報  \n",
                "nullable": true,
                "properties": {
                  "EncryptionAlgorithm": {
                    "description": "暗号化アルゴリズム",
                    "example": "aes256_xts",
                    "type": "string"
                  },
                  "EncryptionKey": {
                    "description": "暗号化キー情報",
                    "properties": {
                      "KMSKeyID": {
                        "description": "KMSキーID",
                        "example": "113700349294",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "Generation": {
                "example": 200,
                "type": "integer"
              },
              "ID": {
                "description": "アプライアンスID",
                "example": "113600097295",
                "type": "string"
              },
              "Instance": {
                "$ref": "#/components/schemas/Instance"
              },
              "Interfaces": {
                "items": {
                  "nullable": true,
                  "properties": {
                    "HostName": {
                      "description": "ホスト名",
                      "example": null,
                      "nullable": true,
                      "type": "string"
                    },
                    "IPAddress": {
                      "description": "IPアドレス",
                      "example": "163.43.142.254",
                      "nullable": true,
                      "type": "string"
                    },
                    "Switch": {
                      "description": "スイッチ情報",
                      "properties": {
                        "ID": {
                          "description": "スイッチID",
                          "example": "113600097295",
                          "type": "string"
                        },
                        "Scope": {
                          "description": "スコープ(shared/user)",
                          "example": "user",
                          "type": "string"
                        },
                        "Subnet": {
                          "description": "サブネット情報",
                          "nullable": true,
                          "properties": {
                            "DefaultRoute": {
                              "description": "ゲートウェイのアドレス",
                              "example": "163.43.142.1",
                              "nullable": true,
                              "type": "string"
                            },
                            "Internet": {
                              "properties": {
                                "BandWidthMbps": {
                                  "example": 100,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            },
                            "NetworkAddress": {
                              "description": "ネットワークアドレス",
                              "example": "163.43.142.0",
                              "type": "string"
                            },
                            "NetworkMaskLen": {
                              "description": "ネットマスク",
                              "example": 24,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "UserSubnet": {
                          "description": "ユーザサブネット情報",
                          "properties": {
                            "DefaultRoute": {
                              "description": "ゲートウェイのアドレス",
                              "example": "192.168.100.254",
                              "nullable": true,
                              "type": "string"
                            },
                            "NetworkMaskLen": {
                              "description": "ネットマスク",
                              "example": 24,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "name": {
                          "description": "スイッチ名",
                          "example": "switch_name",
                          "type": "string"
                        }
                      },
                      "required": [
                        "ID"
                      ],
                      "type": "object"
                    },
                    "UserIPAddress": {
                      "description": "ユーザ側スイッチに接続するIPアドレス",
                      "example": "192.168.100.11",
                      "nullable": true,
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "Plan": {
                "$ref": "#/components/schemas/Plan"
              },
              "Remark": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NosqlRemark"
                  },
                  {
                    "properties": {
                      "ServiceClass": {
                        "description": "サービスクラス",
                        "example": "cloud/nosql/plan/1",
                        "type": "string"
                      },
                      "Zone": {
                        "description": "ゾーン",
                        "properties": {
                          "ID": {
                            "description": "ゾーンID",
                            "example": "30293",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  }
                ]
              },
              "ServiceClass": {
                "$ref": "#/components/schemas/ServiceClass"
              },
              "Settings": {
                "$ref": "#/components/schemas/NosqlSettings"
              },
              "SettingsHash": {
                "example": "d41d8cd98f00b204e9800998ecf8427e",
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "type": "object"
      },
      "NosqlApplianceInput": {
        "properties": {
          "Class": {
            "description": "クラス  \n**新規作成時・ノード追加時必須**\n",
            "example": "nosql",
            "type": "string"
          },
          "Description": {
            "description": "NoSQLの説明",
            "example": "説明",
            "maxLength": 512,
            "minLength": 0,
            "type": "string"
          },
          "Name": {
            "description": "NoSQLの名前  \n**新規作成時・ノード追加時必須**\n",
            "example": "CassandraName",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "Tags": {
            "$ref": "#/components/schemas/Tags"
          }
        },
        "type": "object"
      },
      "NosqlApplianceInputResponse": {
        "properties": {
          "Class": {
            "description": "クラス",
            "example": "nosql",
            "type": "string"
          },
          "Description": {
            "description": "NoSQLの説明",
            "example": "説明",
            "maxLength": 512,
            "minLength": 0,
            "type": "string"
          },
          "Name": {
            "description": "NoSQLの名前",
            "example": "CassandraName",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "Tags": {
            "$ref": "#/components/schemas/Tags"
          }
        },
        "type": "object"
      },
      "NosqlApplianceResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NosqlApplianceInputResponse"
          },
          {
            "properties": {
              "Availability": {
                "$ref": "#/components/schemas/Availability"
              },
              "CreatedAt": {
                "example": "2021-01-01T00:00:00Z",
                "format": "date-time",
                "type": "string"
              },
              "Disk": {
                "description": "ディスク情報  \n",
                "nullable": true,
                "properties": {
                  "EncryptionAlgorithm": {
                    "description": "暗号化アルゴリズム",
                    "example": "aes256_xts",
                    "type": "string"
                  },
                  "EncryptionKey": {
                    "description": "暗号化キー情報",
                    "nullable": true,
                    "properties": {
                      "KMSKeyID": {
                        "description": "KMSキーID",
                        "example": "113700349294",
                        "nullable": true,
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "Generation": {
                "example": 200,
                "type": "integer"
              },
              "ID": {
                "description": "アプライアンスID",
                "example": "113600097295",
                "type": "string"
              },
              "Instance": {
                "$ref": "#/components/schemas/Instance"
              },
              "Interfaces": {
                "items": {
                  "nullable": true,
                  "properties": {
                    "HostName": {
                      "description": "ホスト名",
                      "example": null,
                      "nullable": true,
                      "type": "string"
                    },
                    "IPAddress": {
                      "description": "IPアドレス",
                      "example": "163.43.142.254",
                      "nullable": true,
                      "type": "string"
                    },
                    "Switch": {
                      "description": "スイッチ情報",
                      "properties": {
                        "ID": {
                          "description": "スイッチID",
                          "example": "113600097295",
                          "type": "string"
                        },
                        "Scope": {
                          "description": "スコープ(shared/user)",
                          "example": "user",
                          "type": "string"
                        },
                        "Subnet": {
                          "description": "サブネット情報",
                          "nullable": true,
                          "properties": {
                            "DefaultRoute": {
                              "description": "ゲートウェイのアドレス",
                              "example": "163.43.142.1",
                              "nullable": true,
                              "type": "string"
                            },
                            "Internet": {
                              "properties": {
                                "BandWidthMbps": {
                                  "example": 100,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            },
                            "NetworkAddress": {
                              "description": "ネットワークアドレス",
                              "example": "163.43.142.0",
                              "type": "string"
                            },
                            "NetworkMaskLen": {
                              "description": "ネットマスク",
                              "example": 24,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "UserSubnet": {
                          "description": "ユーザサブネット情報",
                          "properties": {
                            "DefaultRoute": {
                              "description": "ゲートウェイのアドレス",
                              "example": "192.168.100.254",
                              "nullable": true,
                              "type": "string"
                            },
                            "NetworkMaskLen": {
                              "description": "ネットマスク",
                              "example": 24,
                              "type": "integer"
                            }
                          },
                          "type": "object"
                        },
                        "name": {
                          "description": "スイッチ名",
                          "example": "switch_name",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "UserIPAddress": {
                      "description": "ユーザ側スイッチに接続するIPアドレス",
                      "example": "192.168.100.11",
                      "nullable": true,
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "Plan": {
                "$ref": "#/components/schemas/NosqlPlan"
              },
              "Remark": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NosqlRemarkResponse"
                  },
                  {
                    "properties": {
                      "ServiceClass": {
                        "description": "サービスクラス",
                        "example": "cloud/nosql/plan/1",
                        "type": "string"
                      },
                      "Zone": {
                        "description": "ゾーン",
                        "properties": {
                          "ID": {
                            "description": "ゾーンID",
                            "example": "30293",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  }
                ]
              },
              "ServiceClass": {
                "$ref": "#/components/schemas/NosqlServiceClass"
              },
              "Settings": {
                "$ref": "#/components/schemas/NosqlSettingsResponse"
              },
              "SettingsHash": {
                "example": "d41d8cd98f00b204e9800998ecf8427e",
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "type": "object"
      },
      "NosqlBackup": {
        "properties": {
          "backupAt": {
            "description": "バックアップ日時",
            "example": "2024-11-18T16:03:48.844+09:00",
            "format": "date-time",
            "type": "string"
          },
          "backupDestination": {
            "description": "バックアップ先",
            "example": "nfs://192.168.100.250/export",
            "type": "string"
          },
          "backupId": {
            "description": "バックアップID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "format": "uuid",
            "type": "string"
          },
          "deleteStatus": {
            "description": "バックアップ削除ステータス(0:未削除, 1:削除中, 2:削除完了, 9:削除失敗)",
            "example": "2",
            "type": "string"
          },
          "restoreAt": {
            "description": "バックアップ復元日時",
            "example": "2024-11-18T16:03:51.223+09:00",
            "format": "date-time",
            "type": "string"
          },
          "restoreStatus": {
            "description": "バックアップ復元ステータス(0:未復元, 1:復元中, 2:復元完了, 9:復元失敗)",
            "example": "2",
            "type": "string"
          },
          "size": {
            "description": "バックアップサイズ",
            "example": 2,
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "backupId",
          "backupDestination",
          "backupAt",
          "size"
        ],
        "type": "object"
      },
      "NosqlBackupResponse": {
        "properties": {
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          },
          "nosql": {
            "properties": {
              "backups": {
                "description": "バックアップデータリスト",
                "items": {
                  "$ref": "#/components/schemas/NosqlBackup"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "NosqlCreateRequest": {
        "properties": {
          "Appliance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NosqlApplianceInput"
              },
              {
                "properties": {
                  "Disk": {
                    "description": "ディスク情報  \nディスクの情報は暗号化する場合は EncryptionAlgorithm と EncryptionKey を指定する必要があります。\n",
                    "nullable": true,
                    "properties": {
                      "EncryptionAlgorithm": {
                        "description": "暗号化アルゴリズム",
                        "example": "aes256_xts",
                        "type": "string"
                      },
                      "EncryptionKey": {
                        "description": "暗号化キー情報",
                        "nullable": true,
                        "properties": {
                          "KMSKeyID": {
                            "description": "KMSキーID",
                            "example": "113700349294",
                            "nullable": true,
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "Plan": {
                    "$ref": "#/components/schemas/Plan"
                  },
                  "Remark": {
                    "$ref": "#/components/schemas/NosqlRemark"
                  },
                  "ServiceClass": {
                    "$ref": "#/components/schemas/ServiceClass"
                  },
                  "Settings": {
                    "$ref": "#/components/schemas/NosqlSettings"
                  },
                  "UserInterfaces": {
                    "items": {
                      "properties": {
                        "Switch": {
                          "description": "スイッチ",
                          "properties": {
                            "ID": {
                              "description": "スイッチID  \n**新規作成時・ノード追加時必須**\n",
                              "example": "113600097295",
                              "type": "string"
                            }
                          },
                          "required": [
                            "ID"
                          ],
                          "type": "object"
                        },
                        "UserIPAddress1": {
                          "description": "ユーザIPアドレス1  \n**新規作成時・ノード追加時必須**\n",
                          "example": "192.168.100.11",
                          "format": "ipv4",
                          "type": "string"
                        },
                        "UserIPAddress2": {
                          "description": "ユーザIPアドレス2  \n**新規作成時・ノード追加時必須**  \n40GBプラン（ノード数1）の場合は設定不要です。\n",
                          "example": "192.168.100.12",
                          "format": "ipv4",
                          "type": "string"
                        },
                        "UserIPAddress3": {
                          "description": "ユーザIPアドレス3  \n**新規作成時必須**  \n40GBプラン（ノード数1）の場合は設定不要です。\n",
                          "example": "192.168.100.13",
                          "format": "ipv4",
                          "type": "string"
                        },
                        "UserSubnet": {
                          "properties": {
                            "DefaultRoute": {
                              "description": "ゲートウェイのアドレス  \n**新規作成時・ノード追加時必須**\n",
                              "example": "192.168.100.254",
                              "type": "string"
                            },
                            "NetworkMaskLen": {
                              "description": "ネットマスク  \n**新規作成時・ノード追加時必須**\n",
                              "example": 24,
                              "type": "integer"
                            }
                          },
                          "required": [
                            "NetworkMaskLen",
                            "DefaultRoute"
                          ],
                          "type": "object"
                        }
                      },
                      "required": [
                        "Switch",
                        "UserIPAddress1",
                        "UserSubnet"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "Class",
                  "Name",
                  "ServiceClass",
                  "Plan",
                  "Remark",
                  "UserInterfaces",
                  "Settings"
                ],
                "type": "object"
              }
            ],
            "type": "object"
          }
        },
        "required": [
          "Appliance"
        ],
        "type": "object"
      },
      "NosqlCreateResponse": {
        "properties": {
          "Account": {
            "properties": {
              "ID": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "Appliance": {
            "$ref": "#/components/schemas/NosqlAppliance"
          },
          "Availability": {
            "$ref": "#/components/schemas/Availability"
          },
          "Class": {
            "description": "クラス",
            "example": "nosql",
            "type": "string"
          },
          "Description": {
            "description": "NoSQLの説明",
            "example": "説明",
            "maxLength": 512,
            "minLength": 0,
            "type": "string"
          },
          "HiddenRemark": {
            "properties": {
              "Encrypted": {
                "properties": {
                  "Algorithm": {
                    "type": "string"
                  },
                  "Associative": {
                    "type": "boolean"
                  },
                  "Data": {
                    "type": "string"
                  },
                  "IV": {
                    "type": "string"
                  },
                  "md5": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "PlanSpec": {
                "properties": {
                  "Note": {
                    "properties": {
                      "ID": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "ServiceClass": {
                    "example": "cloud/nosql/plan/1",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "ID": {
            "example": "113600097295",
            "type": "string"
          },
          "Name": {
            "description": "NoSQLの名前",
            "example": "CassandraName",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "Plan": {
            "$ref": "#/components/schemas/Plan"
          },
          "Remark": {
            "$ref": "#/components/schemas/NosqlRemark"
          },
          "ServerCount": {
            "example": 1,
            "type": "integer"
          },
          "Settings": {
            "$ref": "#/components/schemas/NosqlSettings"
          },
          "Success": {
            "$ref": "#/components/schemas/Success"
          },
          "Tags": {
            "$ref": "#/components/schemas/Tags"
          },
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          }
        },
        "required": [
          "Appliance",
          "ID"
        ],
        "type": "object"
      },
      "NosqlIsOkResponse": {
        "properties": {
          "Nosql": {
            "properties": {
              "is_ok": {
                "$ref": "#/components/schemas/is_ok"
              }
            },
            "type": "object"
          },
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          }
        },
        "type": "object"
      },
      "NosqlListResponse": {
        "properties": {
          "Appliances": {
            "items": {
              "$ref": "#/components/schemas/NosqlApplianceResponse"
            },
            "type": "array"
          },
          "Count": {
            "example": 1,
            "type": "integer"
          },
          "From": {
            "example": 0,
            "type": "integer"
          },
          "Total": {
            "example": 1,
            "type": "integer"
          },
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          }
        },
        "required": [
          "From",
          "Count",
          "Total",
          "Appliances"
        ],
        "type": "object"
      },
      "NosqlNodeAppliance": {
        "description": "ノードのアプライアンス情報",
        "properties": {
          "Availability": {
            "$ref": "#/components/schemas/Availability"
          },
          "ID": {
            "description": "アプライアンスID",
            "example": "113700352689",
            "type": "string"
          },
          "Nodes": {
            "description": "ノードの詳細情報",
            "items": {
              "$ref": "#/components/schemas/NosqldbNodeStatus"
            },
            "type": "array"
          },
          "Zone": {
            "description": "ゾーン情報",
            "properties": {
              "Name": {
                "description": "ゾーン名",
                "example": "tk1b",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "ID",
          "Availability"
        ],
        "type": "object"
      },
      "NosqlOkResponse": {
        "properties": {
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          },
          "nosql": {
            "properties": {
              "is_ok": {
                "$ref": "#/components/schemas/is_ok"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "NosqlParameter": {
        "properties": {
          "defaultValue": {
            "description": "デフォルト値",
            "example": "defaultValue1",
            "type": "string"
          },
          "description": {
            "description": "説明",
            "example": "説明1",
            "type": "string"
          },
          "parameterOptions": {
            "description": "パラメータオプション",
            "example": [
              "option1",
              "option2"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "settingItem": {
            "description": "設定項目名",
            "example": "settingItem1",
            "type": "string"
          },
          "settingItemId": {
            "description": "設定項目ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "settingValue": {
            "description": "設定値",
            "example": "settingValue1",
            "type": "string"
          }
        },
        "required": [
          "settingItemId",
          "settingItem",
          "description"
        ],
        "type": "object"
      },
      "NosqlParameterSetting": {
        "properties": {
          "settingItemId": {
            "description": "設定項目ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "settingValue": {
            "description": "設定値",
            "example": "settingValue1",
            "type": "string"
          }
        },
        "required": [
          "settingItemId",
          "settingValue"
        ],
        "type": "object"
      },
      "NosqlParametersResponse": {
        "properties": {
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          },
          "nosql": {
            "properties": {
              "parameters": {
                "items": {
                  "$ref": "#/components/schemas/NosqlParameter"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "NosqlPlan": {
        "description": "プラン",
        "properties": {
          "ID": {
            "description": "プランID  \n\n| プラン名      | プランID   | \n|--------------|------------|\n| 40GBプラン       |   51142    |\n| 100GBプラン       |   51143    |\n| 100GBプラン/ノード |   51145    |\n| 250GBプラン       |   51144    |\n| 250GBプラン/ノード |   51146    |\n",
            "example": 51142,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "NosqlPower": {
        "properties": {
          "Instance": {
            "properties": {
              "Status": {
                "description": "NoSQLノードの起動状態\n1ノードでも起動している場合、up\n全ノード停止している場合、down\n",
                "example": "up",
                "type": "string"
              }
            },
            "type": "object"
          },
          "is_ok": {
            "description": "成功のレスポンス(true:成功)",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "NosqlReadResponse": {
        "properties": {
          "Appliance": {
            "$ref": "#/components/schemas/NosqlApplianceResponse"
          },
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          }
        },
        "required": [
          "Appliance"
        ],
        "type": "object"
      },
      "NosqlRemark": {
        "properties": {
          "Network": {
            "description": "ネットワーク情報",
            "properties": {
              "DefaultRoute": {
                "description": "ゲートウェイのアドレス  \n**新規作成時・ノード追加時必須**\n",
                "example": "192.168.100.254",
                "type": "string"
              },
              "NetworkMaskLen": {
                "description": "ネットマスク  \n**新規作成時・ノード追加時必須**\n",
                "example": 24,
                "type": "integer"
              }
            },
            "required": [
              "DefaultRoute",
              "NetworkMaskLen"
            ],
            "type": "object"
          },
          "Nosql": {
            "properties": {
              "DatabaseEngine": {
                "description": "データベースに使用するエンジン  \n**新規作成時必須**\n",
                "enum": [
                  "Cassandra"
                ],
                "example": "Cassandra",
                "nullable": true,
                "type": "string"
              },
              "DatabaseVersion": {
                "anyOf": [
                  {
                    "pattern": "^\\d+\\.\\d+\\.\\d+$"
                  },
                  {
                    "pattern": "^$"
                  }
                ],
                "description": "データベースバージョン  \n**新規作成時必須**\n",
                "example": "4.1.9",
                "nullable": true,
                "type": "string"
              },
              "DefaultUser": {
                "anyOf": [
                  {
                    "pattern": "^[a-z][a-z0-9_]{3,19}$"
                  },
                  {
                    "pattern": "^$"
                  }
                ],
                "description": "デフォルトユーザ名  \n**新規作成時必須**\n",
                "example": "defaultuser01",
                "maxLength": 20,
                "nullable": true,
                "type": "string"
              },
              "DiskSize": {
                "description": "ディスクサイズ(MB)  \n未指定時はプランから自動設定\n",
                "example": 102400,
                "nullable": true,
                "type": "integer"
              },
              "Memory": {
                "description": "メモリ(MB)  \n未指定時はプランから自動設定\n",
                "example": 8192,
                "nullable": true,
                "type": "integer"
              },
              "Nodes": {
                "description": "ノード数  \n未指定時はプランから自動設定\n",
                "example": 3,
                "maximum": 3,
                "minimum": 1,
                "nullable": true,
                "type": "integer"
              },
              "Port": {
                "description": "ポート  \n**新規作成時必須**\n",
                "example": 9042,
                "maximum": 65535,
                "minimum": 1024,
                "nullable": true,
                "type": "integer"
              },
              "PrimaryNodes": {
                "description": "プライマリノード情報。\n**ノード追加時必須**  \nノード追加を行う場合は、対象となる既存NoSQLのアプライアンス情報を設定してください。\n",
                "properties": {
                  "Appliance": {
                    "description": "既存のNoSQLのアプライアンス情報  \n**ノード追加時必須**\n",
                    "properties": {
                      "ID": {
                        "description": "既存のNoSQLのアプライアンスID  \n**ノード追加時必須**\n",
                        "example": "113700352689",
                        "type": "string"
                      },
                      "Zone": {
                        "description": "既存のNoSQLのゾーン  \n**ノード追加時必須**\n",
                        "properties": {
                          "Name": {
                            "description": "既存のNoSQLのゾーン情報  \n**ノード追加時必須**\n",
                            "example": "tk1b",
                            "type": "string"
                          }
                        },
                        "required": [
                          "Name"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "ID",
                      "Zone"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "Appliance"
                ],
                "type": "object"
              },
              "Storage": {
                "description": "ストレージ  \n**新規作成時必須**\n",
                "enum": [
                  "SSD"
                ],
                "example": "SSD",
                "nullable": true,
                "type": "string"
              },
              "Virtualcore": {
                "description": "仮想コア  \n未指定時はプランから自動設定  \n",
                "example": 3,
                "nullable": true,
                "type": "integer"
              },
              "Zone": {
                "description": "ゾーン  \n**新規作成時・ノード追加時必須**\n",
                "example": "tk1b",
                "type": "string"
              }
            },
            "required": [
              "Zone"
            ],
            "type": "object"
          },
          "Servers": {
            "items": {
              "properties": {
                "UserIPAddress": {
                  "description": "ユーザ側スイッチに接続するIPアドレス  \n**新規作成時・ノード追加時必須**\n\n※ノード数分指定する\n",
                  "example": "192.168.100.11",
                  "format": "ipv4",
                  "type": "string"
                }
              },
              "required": [
                "UserIPAddress"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "Nosql",
          "Servers",
          "Network"
        ],
        "type": "object"
      },
      "NosqlRemarkResponse": {
        "properties": {
          "Network": {
            "description": "ネットワーク情報",
            "properties": {
              "DefaultRoute": {
                "description": "ゲートウェイのアドレス",
                "example": "192.168.100.254",
                "type": "string"
              },
              "NetworkMaskLen": {
                "description": "ネットマスク",
                "example": 24,
                "type": "integer"
              }
            },
            "type": "object"
          },
          "Nosql": {
            "properties": {
              "DatabaseEngine": {
                "description": "データベースに使用するエンジン",
                "enum": [
                  "Cassandra"
                ],
                "example": "Cassandra",
                "type": "string"
              },
              "DatabaseVersion": {
                "description": "データベースバージョン",
                "example": "4.1.9",
                "pattern": "^\\d+\\.\\d+\\.\\d+$",
                "type": "string"
              },
              "DefaultUser": {
                "description": "デフォルトユーザ名",
                "example": "defaultuser01",
                "maxLength": 20,
                "minLength": 4,
                "pattern": "^[a-z][a-z0-9_]{3,19}$",
                "type": "string"
              },
              "DiskSize": {
                "description": "ディスクサイズ(MB)",
                "enum": [
                  40960,
                  102400,
                  256000
                ],
                "example": 102400,
                "type": "integer"
              },
              "Memory": {
                "description": "メモリ(MB)",
                "enum": [
                  4096,
                  8192,
                  16384
                ],
                "example": 8192,
                "type": "integer"
              },
              "Nodes": {
                "description": "ノード数",
                "example": 3,
                "maximum": 3,
                "minimum": 1,
                "type": "integer"
              },
              "Port": {
                "description": "ポート",
                "example": 9042,
                "maximum": 65535,
                "minimum": 1024,
                "type": "integer"
              },
              "PrimaryNodes": {
                "description": "プライマリノード情報",
                "properties": {
                  "Appliance": {
                    "description": "既存のNoSQLのアプライアンス情報",
                    "properties": {
                      "ID": {
                        "description": "既存のNoSQLのアプライアンスID",
                        "example": "113700352689",
                        "type": "string"
                      },
                      "Zone": {
                        "description": "既存のNoSQLのゾーン",
                        "properties": {
                          "Name": {
                            "description": "既存のNoSQLのゾーン情報",
                            "example": "tk1b",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "Storage": {
                "description": "ストレージ",
                "enum": [
                  "SSD"
                ],
                "example": "SSD",
                "type": "string"
              },
              "Virtualcore": {
                "description": "仮想コア",
                "enum": [
                  2,
                  3,
                  6
                ],
                "example": 3,
                "type": "integer"
              },
              "Zone": {
                "description": "ゾーン",
                "example": "tk1b",
                "type": "string"
              }
            },
            "type": "object"
          },
          "Servers": {
            "items": {
              "properties": {
                "UserIPAddress": {
                  "description": "ユーザ側スイッチに接続するIPアドレス  \n",
                  "example": "192.168.100.11",
                  "format": "ipv4",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "NosqlRepairRequest": {
        "properties": {
          "nosql": {
            "properties": {
              "repairType": {
                "description": "リペアタイプ\n\n| 値          | 説明      | 実行コマンド                 |\n|-------------|-----------|-----------------------------|\n| Incremental | 増分リペア | nodetool repair -pr         |\n| Full        | 完全リペア | nodetool repair --full -pr  |\n",
                "enum": [
                  "Incremental",
                  "Full"
                ],
                "example": "Incremental",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "NosqlRepairResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NosqlRepairRequest"
          }
        ],
        "properties": {
          "is_ok": {
            "description": "成功のレスポンス(true:成功)",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "NosqlServiceClass": {
        "description": "サービスクラス\n\n| プラン名      | サービスクラスパス          | \n|--------------|----------------------------|\n| 40GBプラン       |  cloud/nosql/plan/1        |\n| 100GBプラン       |  cloud/nosql/plan/2        |\n| 100GBプラン/ノード |  cloud/nosql/plan/2/node  |\n| 250GBプラン       |  cloud/nosql/plan/3        |\n| 250GBプラン/ノード |  cloud/nosql/plan/3/node  |\n",
        "example": "cloud/nosql/plan/1",
        "type": "string"
      },
      "NosqlSettings": {
        "properties": {
          "Backup": {
            "description": "バックアップ情報",
            "nullable": true,
            "properties": {
              "Connect": {
                "description": "バックアップ先（NFS URL形式）",
                "example": "nfs://192.168.100.250/export",
                "pattern": "^(nfs://[0-9\\.]+/[A-Za-z0-9_\\-\\/]+)$",
                "type": "string"
              },
              "DayOfWeek": {
                "description": "バックアップスケジュール",
                "example": [
                  "sun",
                  "mon"
                ],
                "items": {
                  "enum": [
                    "sun",
                    "mon",
                    "tue",
                    "wed",
                    "thu",
                    "fri",
                    "sat"
                  ],
                  "type": "string"
                },
                "nullable": true,
                "type": "array"
              },
              "Rotate": {
                "description": "バックアップ数（1から8まで）",
                "example": 3,
                "maximum": 8,
                "minimum": 1,
                "type": "integer"
              },
              "Time": {
                "description": "バックアップする時間",
                "example": "00:00",
                "nullable": true,
                "pattern": "^(([0-1][0-9]|2[0-3]):(00|15|30|45))?$",
                "type": "string"
              }
            },
            "required": [
              "Connect",
              "Rotate"
            ],
            "type": "object"
          },
          "Password": {
            "$ref": "#/components/schemas/Password"
          },
          "Repair": {
            "description": "定期リペア設定  \n※40GBプランはノード数が1のため、リペア設定を行うことはできません。 \n",
            "nullable": true,
            "properties": {
              "Full": {
                "description": "完全リペア設定",
                "properties": {
                  "DayOfWeek": {
                    "description": "実行曜日",
                    "enum": [
                      "sun",
                      "mon",
                      "tue",
                      "wed",
                      "thu",
                      "fri",
                      "sat"
                    ],
                    "example": "sun",
                    "type": "string"
                  },
                  "Interval": {
                    "description": "7日ごとの実行間隔（日数）",
                    "enum": [
                      7,
                      14,
                      21,
                      28
                    ],
                    "example": 7,
                    "type": "integer"
                  },
                  "Time": {
                    "description": "実行時間",
                    "example": "00:00",
                    "pattern": "^(([0-1][0-9]|2[0-3]):(00|15|30|45))?$",
                    "type": "string"
                  }
                },
                "required": [
                  "Interval",
                  "DayOfWeek",
                  "Time"
                ],
                "type": "object"
              },
              "Incremental": {
                "description": "増分リペア設定",
                "properties": {
                  "DaysOfWeek": {
                    "description": "実行曜日",
                    "example": [
                      "sun",
                      "mon"
                    ],
                    "items": {
                      "enum": [
                        "sun",
                        "mon",
                        "tue",
                        "wed",
                        "thu",
                        "fri",
                        "sat"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "Time": {
                    "description": "実行時間",
                    "example": "00:00",
                    "pattern": "^(([0-1][0-9]|2[0-3]):(00|15|30|45))?$",
                    "type": "string"
                  }
                },
                "required": [
                  "DaysOfWeek",
                  "Time"
                ],
                "type": "object"
              }
            },
            "type": "object"
          },
          "ReserveIPAddress": {
            "description": "予備IPアドレス  \n**新規作成時・ノード追加時必須**  \n※デッドノード発生時、ノード切替を行う際に使用する予備のIPアドレス  \nただし、40GBプランの場合は必須ではありません。\n",
            "example": "192.168.100.203",
            "format": "ipv4",
            "type": "string"
          },
          "SourceNetwork": {
            "description": "送信元ネットワークアドレス",
            "example": [
              "192.168.100.200",
              "192.168.100.201",
              "192.168.100.202"
            ],
            "items": {
              "pattern": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}(?:/(?:[0-9]|[1-2][0-9]|3[0-2]))?$",
              "type": "string"
            },
            "type": "array",
            "uniqueItems": true
          }
        },
        "type": "object"
      },
      "NosqlSettingsResponse": {
        "properties": {
          "Backup": {
            "description": "バックアップ情報",
            "nullable": true,
            "properties": {
              "Connect": {
                "description": "バックアップ先（NFS URL形式）",
                "example": "nfs://192.168.100.250/export",
                "pattern": "^(nfs://[0-9\\.]+/[A-Za-z0-9_\\-\\/]+)$",
                "type": "string"
              },
              "DayOfWeek": {
                "description": "バックアップスケジュール",
                "example": [
                  "sun",
                  "mon"
                ],
                "items": {
                  "enum": [
                    "sun",
                    "mon",
                    "tue",
                    "wed",
                    "thu",
                    "fri",
                    "sat"
                  ],
                  "type": "string"
                },
                "nullable": true,
                "type": "array"
              },
              "Rotate": {
                "description": "バックアップ数（1から8まで）",
                "example": 3,
                "maximum": 8,
                "minimum": 1,
                "type": "integer"
              },
              "Time": {
                "description": "バックアップする時間",
                "example": "00:00",
                "nullable": true,
                "pattern": "^(([0-1][0-9]|2[0-3]):(00|15|30|45))?$",
                "type": "string"
              }
            },
            "type": "object"
          },
          "Repair": {
            "description": "定期リペア設定",
            "nullable": true,
            "properties": {
              "Full": {
                "description": "完全リペア設定",
                "properties": {
                  "DayOfWeek": {
                    "description": "実行曜日",
                    "enum": [
                      "sun",
                      "mon",
                      "tue",
                      "wed",
                      "thu",
                      "fri",
                      "sat"
                    ],
                    "example": "sun",
                    "type": "string"
                  },
                  "Interval": {
                    "description": "7日ごとの実行間隔（日数）",
                    "enum": [
                      7,
                      14,
                      21,
                      28
                    ],
                    "example": 7,
                    "type": "integer"
                  },
                  "Time": {
                    "description": "実行時間",
                    "example": "00:00",
                    "pattern": "^(([0-1][0-9]|2[0-3]):(00|15|30|45))?$",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "Incremental": {
                "description": "増分リペア設定",
                "properties": {
                  "DaysOfWeek": {
                    "description": "実行曜日",
                    "example": [
                      "sun",
                      "mon"
                    ],
                    "items": {
                      "enum": [
                        "sun",
                        "mon",
                        "tue",
                        "wed",
                        "thu",
                        "fri",
                        "sat"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "Time": {
                    "description": "実行時間",
                    "example": "00:00",
                    "pattern": "^(([0-1][0-9]|2[0-3]):(00|15|30|45))?$",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "ReserveIPAddress": {
            "description": "予備IPアドレス  \n※デッドノード発生時、ノード切替を行う際に使用する予備のIPアドレス\n",
            "example": "192.168.100.203",
            "format": "ipv4",
            "type": "string"
          },
          "SourceNetwork": {
            "description": "送信元ネットワークアドレス",
            "example": [
              "192.168.100.200",
              "192.168.100.201",
              "192.168.100.202"
            ],
            "items": {
              "pattern": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}(?:/(?:[0-9]|[1-2][0-9]|3[0-2]))?$",
              "type": "string"
            },
            "type": "array",
            "uniqueItems": true
          }
        },
        "type": "object"
      },
      "NosqlStatusResponse": {
        "properties": {
          "Appliance": {
            "properties": {
              "ID": {
                "example": "113600097295",
                "type": "string"
              },
              "SettingsResponse": {
                "description": "NoSQLのステータスレスポンス",
                "properties": {
                  "Nosql": {
                    "properties": {
                      "AddNodes": {
                        "description": "追加されたノードの情報",
                        "items": {
                          "properties": {
                            "Appliance": {
                              "$ref": "#/components/schemas/NosqlNodeAppliance"
                            }
                          },
                          "required": [
                            "Appliance"
                          ],
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "DatabaseVersion": {
                        "description": "NoSQLの現在のバージョン",
                        "example": "4.1.7",
                        "type": "string"
                      },
                      "Jobs": {
                        "description": "ジョブ情報",
                        "items": {
                          "properties": {
                            "JobStatus": {
                              "description": "ジョブステータス",
                              "example": "Done",
                              "type": "string"
                            },
                            "JobType": {
                              "description": "ジョブタイプ",
                              "example": "Create",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "PrimaryNodes": {
                        "description": "プライマリノード情報",
                        "properties": {
                          "Appliance": {
                            "$ref": "#/components/schemas/NosqlNodeAppliance"
                          }
                        },
                        "type": "object"
                      },
                      "UpgradeVersion": {
                        "description": "NoSQLの更新可能な最新のバージョン",
                        "example": "4.1.9",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          }
        },
        "type": "object"
      },
      "NosqlSuccessResponse": {
        "properties": {
          "Appliance": {
            "$ref": "#/components/schemas/NosqlAppliance"
          },
          "Success": {
            "$ref": "#/components/schemas/Success"
          },
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          }
        },
        "type": "object"
      },
      "NosqlUpdateRequest": {
        "properties": {
          "Appliance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NosqlApplianceInput"
              },
              {
                "properties": {
                  "ID": {
                    "description": "アプライアンスID",
                    "example": "113600097295",
                    "type": "string"
                  },
                  "Settings": {
                    "$ref": "#/components/schemas/NosqlSettings"
                  }
                },
                "required": [
                  "ID",
                  "Settings"
                ],
                "type": "object"
              }
            ],
            "type": "object"
          }
        },
        "required": [
          "Appliance"
        ],
        "type": "object"
      },
      "NosqlUpdateVersionRequest": {
        "properties": {
          "nosql": {
            "$ref": "#/components/schemas/NosqlVersion"
          }
        },
        "required": [
          "nosql"
        ],
        "type": "object"
      },
      "NosqlUpdateVersionResponse": {
        "properties": {
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          },
          "nosql": {
            "$ref": "#/components/schemas/NosqlVersion"
          }
        },
        "type": "object"
      },
      "NosqlVersion": {
        "properties": {
          "version": {
            "description": "NoSQLの更新可能なバージョン",
            "example": "4.1.9",
            "pattern": "^\\d+\\.\\d+\\.\\d+$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "NosqlVersionsResponse": {
        "properties": {
          "is_ok": {
            "description": "成功のレスポンス",
            "example": true,
            "type": "boolean"
          },
          "nosql": {
            "properties": {
              "DatabaseVersion": {
                "description": "現在のNoSQLのバージョン",
                "example": "4.1.7",
                "type": "string"
              },
              "UpgradableVersions": {
                "description": "更新可能なバージョンのリスト",
                "items": {
                  "properties": {
                    "version": {
                      "description": "更新可能なバージョン",
                      "example": "4.1.9",
                      "type": "string"
                    }
                  },
                  "required": [
                    "version"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "DatabaseVersion",
              "UpgradableVersions"
            ],
            "type": "object"
          }
        },
        "type": "object"
      },
      "NosqldbNodeStatus": {
        "properties": {
          "Index": {
            "description": "ノードの通番",
            "example": 0,
            "type": "integer"
          },
          "NodeType": {
            "description": "ノードタイプ\n\n| 値 | 説明         |\n|----|--------------|\n| 0  | 正常         |\n| 1  | デッドノード |\n| 2  | 予備IPサーバ |\n",
            "enum": [
              "0",
              "1",
              "2"
            ],
            "example": "0",
            "type": "string"
          },
          "UserIPAddress": {
            "description": "ユーザ側スイッチに接続するIPアドレス",
            "example": "192.168.100.11",
            "format": "ipv4",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Password": {
        "description": "パスワード  \n**新規作成時必須**\n",
        "example": "Default-Password01",
        "maxLength": 30,
        "minLength": 12,
        "pattern": "^[a-zA-Z0-9-._]+$",
        "type": "string"
      },
      "Plan": {
        "description": "プラン  \n**新規作成時・ノード追加時必須**\n",
        "properties": {
          "ID": {
            "description": "プランID  \n**新規作成時・ノード追加時必須**\n\n利用可能なプランID:\n| プラン名      | プランID   | \n|--------------|------------|\n| 40GBプラン       |   51142    |\n| 100GBプラン       |   51143    |\n| 100GBプラン/ノード |   51145    |\n| 250GBプラン       |   51144    |\n| 250GBプラン/ノード |   51146    |\n",
            "example": 51142,
            "type": "integer"
          }
        },
        "required": [
          "ID"
        ],
        "type": "object"
      },
      "ServiceClass": {
        "description": "サービスクラス  \n**新規作成時・ノード追加時必須**\n\n| プラン名      | サービスクラスパス          | \n|--------------|----------------------------|\n| 40GBプラン       |  cloud/nosql/plan/1        |\n| 100GBプラン       |  cloud/nosql/plan/2        |\n| 100GBプラン/ノード |  cloud/nosql/plan/2/node  |\n| 250GBプラン       |  cloud/nosql/plan/3        |\n| 250GBプラン/ノード |  cloud/nosql/plan/3/node  |\n",
        "example": "cloud/nosql/plan/1",
        "type": "string"
      },
      "Success": {
        "oneOf": [
          {
            "example": true,
            "type": "boolean"
          },
          {
            "example": "Accepted",
            "type": "string"
          }
        ]
      },
      "SuccessResponse": {
        "properties": {
          "Success": {
            "$ref": "#/components/schemas/Success"
          },
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          }
        },
        "type": "object"
      },
      "Tags": {
        "description": "タグ",
        "example": [
          "tag1"
        ],
        "items": {
          "example": "tag",
          "maxLength": 32,
          "pattern": "^[^\\s\\u3000]+$",
          "type": "string"
        },
        "maxItems": 10,
        "nullable": true,
        "type": "array"
      },
      "UpdateNosqlParametersRequest": {
        "properties": {
          "nosql": {
            "properties": {
              "parameters": {
                "items": {
                  "$ref": "#/components/schemas/NosqlParameterSetting"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "nosql"
        ],
        "type": "object"
      },
      "UpdateNosqlParametersResponse": {
        "properties": {
          "is_ok": {
            "$ref": "#/components/schemas/is_ok"
          },
          "nosql": {
            "properties": {
              "parameters": {
                "items": {
                  "$ref": "#/components/schemas/NosqlParameterSetting"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "is_ok": {
        "description": "成功のレスポンス(true:成功)",
        "example": true,
        "type": "boolean"
      }
    }
  },
  "info": {
    "contact": {
      "name": "SAKURA internet Inc."
    },
    "description": "---\n「NoSQL」が提供するAPIの利用方法とサンプルを公開しております。\n# 基本的な使い方\n## APIキーの発行\nAPIを利用するためには、認証のための「APIキー」が必要です。事前にキーを発行しておきます。  \nAPIキーは「ユーザID」「パスワード」に相当する「トークン」と呼ばれる認証情報で構成されています。\n|   項目名   | APIキー発行時の項目名        | このドキュメント内での例             |\n|------------|------------------------------|--------------------------------------|\n| ユーザID | アクセストークン(UUID)       | 01234567-89ab-cdef-0123-456789abcdef |\n| パスワード | アクセストークンシークレット | SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM |\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## APIエンドポイント\nhttps://secure.sakura.ad.jp/cloud/zone/tk1b/api/cloud/1.1\n\n### 用語\n\n- **プライマリノード (PrimaryNodes)**  \n  新規作成時に作成されるノード群を指します。  \n  本マニュアルではこれを「プライマリノード」と呼びます。  \n\n# NoSQLプラン\n| プラン名 | 仮想コア数 | メモリ(MB) | ディスクサイズ(MB) | ノード数 | 追加ノード可能数 |\n|---------|-----------|------------|------------------|----------|-----------------|\n| 40GBプラン  |     2     |    4096    |   40960         |    1      |      追加不可    |\n| 100GBプラン  |     3     |    8192    |   102400        |    3      |      2台*3回     |\n| 250GBプラン  |     6     |    16384   |   256000        |    3      |      2台*3回     |\n",
    "license": {
      "name": "Copyright(C) SAKURA internet Inc. all rights reserved."
    },
    "title": "NoSQL APIドキュメント",
    "version": "2.1.1"
  },
  "openapi": "3.0.3",
  "paths": {
    "/appliance": {
      "get": {
        "description": "NoSQLの一覧取得を行います。",
        "operationId": "listNosqlDatabases",
        "parameters": [
          {
            "description": "Class固定",
            "in": "query",
            "name": "Filter.Class",
            "required": true,
            "schema": {
              "example": "nosql",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlListResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQL一覧取得API",
        "tags": [
          "NoSQL"
        ]
      },
      "post": {
        "description": "NoSQLの新規作成および既存NoSQLへのノード追加を行います。  \n新規作成時とノード追加時では、必要となる項目が異なります。  \n各操作ごとの必須項目は、スキーマ定義内の各プロパティの説明欄に明記していますので、詳細はそちらをご参照ください。  \n- **新規作成時必須**: 新規作成の際に必須の項目\n- **ノード追加時必須**: ノード追加の際に必須の項目\n- **新規作成時・ノード追加時必須**: 新規作成・ノード追加の両方で必須の項目\n\n※ノード追加では、既存NoSQLの設定情報（**ノード追加時必須**以外の項目）と一致させるか未指定である必要があります。  \n",
        "operationId": "createNosqlDatabase",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NosqlCreateRequest"
              }
            }
          },
          "description": "NoSQLの作成を行うためのリクエストボディ",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlCreateResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQL作成API",
        "tags": [
          "NoSQL"
        ]
      }
    },
    "/appliance/{applianceID}": {
      "delete": {
        "description": "対象のNoSQLを削除します。  \nプライマリノードのアプライアンスIDを指定して削除する場合、ノード追加したデータは削除されません。  \nノード追加している場合は、追加ノードのアプライアンスIDを指定して、個別に削除する必要があります。\n",
        "operationId": "deleteNosqlDatabase",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlSuccessResponse"
                }
              }
            },
            "description": "NoSQL削除受け付け成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQL削除API",
        "tags": [
          "NoSQL"
        ]
      },
      "get": {
        "description": "対象のNoSQLの取得を行います。",
        "operationId": "readNosqlDatabase",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlReadResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQL取得API",
        "tags": [
          "NoSQL"
        ]
      },
      "put": {
        "description": "対象のNoSQLに対しての更新を行います。  \n追加ノードのアプライアンスIDを指定して更新を行うことはできません。  \nプライマリノードのアプライアンスIDを指定することで、追加ノードに対しても更新が適用されます。\n",
        "operationId": "updateNosqlDatabase",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NosqlUpdateRequest"
              }
            }
          },
          "description": "NoSQLの更新を行うためのリクエストボディ",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlSuccessResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQL更新API",
        "tags": [
          "NoSQL"
        ]
      }
    },
    "/appliance/{applianceID}/config": {
      "put": {
        "description": "対象のNoSQLに対しての更新を反映します。  \n追加ノードのアプライアンスIDを指定して反映処理をすることはできません。  \nプライマリノードのアプライアンスIDを指定することで、追加ノードに対しても更新が反映されます。\n",
        "operationId": "applyNosqlDatabaseConfig",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlIsOkResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          }
        },
        "summary": "NoSQL反映API",
        "tags": [
          "NoSQL"
        ]
      }
    },
    "/appliance/{applianceID}/nosql/backup": {
      "get": {
        "description": "対象NoSQLのバックアップ情報を取得します。  \n追加ノードのアプライアンスIDを指定して呼び出した場合、返却される情報はプライマリノードを指定した場合と同一の内容となります。\n",
        "operationId": "listNosqlDatabaseBackups",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlBackupResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLバックアップ取得API",
        "tags": [
          "バックアップ"
        ]
      },
      "post": {
        "description": "対象のNoSQLに対してバックアップ作成を行います。  \n追加ノードのアプライアンスIDを指定してバックアップを作成することはできません。  \nプライマリノードのアプライアンスIDを指定することで、追加ノードに対してもバックアップが作成されます。\n",
        "operationId": "createNosqlDatabaseBackup",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlOkResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLバックアップ作成API",
        "tags": [
          "バックアップ"
        ]
      }
    },
    "/appliance/{applianceID}/nosql/backup/{backupID}": {
      "delete": {
        "description": "対象のNoSQLのバックアップ削除を開始します。  \nバックアップデータの確認はNoSQLバックアップ一覧取得APIにて行ってください。  \n追加ノードのアプライアンスIDを指定してバックアップを削除することはできません。  \nプライマリノードのアプライアンスIDとバックアップIDを指定することで、追加ノードに対してもバックアップの削除が適用されます。\n",
        "operationId": "deleteNosqlDatabaseBackup",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          },
          {
            "$ref": "#/components/parameters/BackupID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlOkResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLバックアップ削除API",
        "tags": [
          "バックアップ"
        ]
      },
      "put": {
        "description": "対象のNoSQLに対してバックアップ復元を開始します。  \nバックアップデータの確認はNoSQLバックアップ一覧取得APIにて行ってください。  \n追加ノードのアプライアンスIDを指定してバックアップを復元することはできません。  \nプライマリノードのアプライアンスIDとバックアップIDを指定することで、追加ノードに対してもバックアップの復元が適用されます。\n",
        "operationId": "restoreNosqlDatabaseBackup",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          },
          {
            "$ref": "#/components/parameters/BackupID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlOkResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLバックアップ復元API",
        "tags": [
          "バックアップ"
        ]
      }
    },
    "/appliance/{applianceID}/nosql/nodes/health": {
      "get": {
        "description": "対象のNoSQL全体の起動状態を確認します。",
        "operationId": "readNosqlDatabaseNodeHealth",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NodeHealth"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLの起動状態確認API",
        "tags": [
          "電源"
        ]
      }
    },
    "/appliance/{applianceID}/nosql/nodes/recover": {
      "post": {
        "description": "対象のNoSQLのノードを復旧します。\n起動状態を確認し、停止している場合は、再起動を試みます。\n",
        "operationId": "recoverNosqlDatabaseNode",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "全ノードが起動している状態。復旧不要のレスポンス"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "一台停止している状態。復旧開始のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictErrorResponse"
                }
              }
            },
            "description": "二台以上停止している状態。復旧不可のレスポンス"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQL状態復旧API",
        "tags": [
          "電源"
        ]
      }
    },
    "/appliance/{applianceID}/nosql/parameter": {
      "get": {
        "description": "対象のNoSQLのパラメータ設定情報を取得します。  \n追加ノードのアプライアンスIDを指定して呼び出した場合、返却される情報はプライマリノードを指定した場合と同一の内容となります。\n",
        "operationId": "listNosqlDatabaseParameters",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlParametersResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLパラメータ取得API",
        "tags": [
          "パラメーター設定"
        ]
      },
      "put": {
        "description": "対象のNoSQLに対してのパラメータ設定を行います。  \n追加ノードのアプライアンスIDを指定してパラメータ設定を行うことはできません。  \nプライマリノードのアプライアンスIDを指定することで、追加ノードに対してもパラメータ設定を行うことができます。\n",
        "operationId": "updateNosqlDatabaseParameters",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNosqlParametersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateNosqlParametersResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLパラメータ反映API",
        "tags": [
          "パラメーター設定"
        ]
      }
    },
    "/appliance/{applianceID}/nosql/repair": {
      "post": {
        "description": "プライマリノードを対象にNoSQLのリペアを開始します。\n「増分リペア」または「完全リペア」を実行します。\u003cbr\u003e\nリペアとはデータの整合性（一貫性）を維持するために、複数のノード間で発生したデータのずれを検出・修復するメンテナンス作業です。\u003cbr\u003e\n増分リペアは、前回のリペア実行以降に更新されたデータのみを対象に修復を行います。\u003cbr\u003e\n完全リペアは、クラスタ内のすべてのデータを対象に修復を行います。\u003cbr\u003e\n追加ノードのアプライアンスIDを指定してリペアを実行することはできません。  \nプライマリノードのアプライアンスIDを指定することで、追加ノードに対してもリペアが実行されます。\n",
        "operationId": "repairNosqlDatabase",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NosqlRepairRequest"
              }
            }
          },
          "description": "リペアAPIのリクエストボディ",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlRepairResponse"
                }
              }
            },
            "description": "リペア成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLリペア実行API",
        "tags": [
          "リペア"
        ]
      }
    },
    "/appliance/{applianceID}/nosql/version": {
      "get": {
        "description": "対象のNoSQLの更新可能なバージョンを取得します。  \n追加ノードのアプライアンスIDを指定して呼び出した場合、返却される情報はプライマリノードを指定した場合と同一の内容となります。\n",
        "operationId": "listNosqlDatabaseVersions",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlVersionsResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLバージョン取得API",
        "tags": [
          "バージョンアップ"
        ]
      },
      "put": {
        "description": "対象のNoSQLに対してのバージョン更新を行います。  \n追加ノードのアプライアンスIDを指定してバージョン更新を行うことはできません。  \nプライマリノードのアプライアンスIDを指定することで、追加ノードに対してもバージョン更新を行うことができます。\n",
        "operationId": "updateNosqlDatabaseVersion",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NosqlUpdateVersionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlUpdateVersionResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLバージョン更新API",
        "tags": [
          "バージョンアップ"
        ]
      }
    },
    "/appliance/{applianceID}/power": {
      "delete": {
        "description": "対象のNoSQLを停止します。  \nプライマリノードのアプライアンスIDを指定しての停止では、ノード追加したデータは停止しません。  \nノード追加している場合は、追加ノードのアプライアンスIDを指定して、個別に停止する必要があります。\n",
        "operationId": "powerOffNosqlDatabase",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "NoSQL停止成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQL停止API",
        "tags": [
          "電源"
        ]
      },
      "get": {
        "description": "対象のNoSQLの電源状態を取得します。",
        "operationId": "getNosqlDatabasePower",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlPower"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQLの電源状態取得API",
        "tags": [
          "電源"
        ]
      },
      "put": {
        "description": "対象のNoSQLを起動します。  \nプライマリノードのアプライアンスIDを指定しての起動では、ノード追加したデータは起動しません。  \nノード追加している場合は、追加ノードのアプライアンスIDを指定して、個別に起動する必要があります。\n",
        "operationId": "powerOnNosqlDatabase",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "NoSQL起動成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQL起動API",
        "tags": [
          "電源"
        ]
      }
    },
    "/appliance/{applianceID}/status": {
      "get": {
        "description": "対象のNoSQLの情報を取得します。  \n追加ノードのアプライアンスIDを指定して呼び出した場合、返却される情報はプライマリノードを指定した場合と同一の内容となります。  \n",
        "operationId": "readNosqlDatabaseStatus",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApplianceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NosqlStatusResponse"
                }
              }
            },
            "description": "成功時のレスポンス"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/ServerErrorResponse"
          }
        },
        "summary": "NoSQL状態確認API",
        "tags": [
          "NoSQL"
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://secure.sakura.ad.jp/cloud/zone/tk1b/api/cloud/1.1"
    }
  ],
  "tags": [
    {
      "description": "NoSQLの作成・ノード追加・更新・削除",
      "name": "NoSQL"
    },
    {
      "description": "NoSQLの起動・停止",
      "name": "電源"
    },
    {
      "description": "NoSQLのバックアップ",
      "name": "バックアップ"
    },
    {
      "description": "NoSQLのパラメーター設定",
      "name": "パラメーター設定"
    },
    {
      "description": "NoSQLのバージョンアップ",
      "name": "バージョンアップ"
    },
    {
      "description": "NoSQLのリペア",
      "name": "リペア"
    }
  ]
}
