static

package
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2019 License: Apache-2.0 Imports: 0 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Files = map[string]string{
	"api.swagger.json": `{
  "swagger": "2.0",
  "info": {
    "title": "OpenPitrix Project",
    "version": "0.0.1",
    "contact": {
      "name": "OpenPitrix Project",
      "url": "https://openpitrix.io"
    }
  },
  "schemes": [
    "http",
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/v1/cando": {
      "post": {
        "summary": "Validates whether the user[user_id] have permission to visit resource[url_method:url]",
        "operationId": "CanDo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCanDoResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCanDoRequest"
            }
          }
        ],
        "tags": [
          "AccessManager"
        ]
      }
    },
    "/v1/groups": {
      "get": {
        "summary": "Get groups, can filter with these fields(group_id, parent_group_id, group_path, status), default return all groups",
        "operationId": "DescribeGroups",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeGroupsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(group_id, parent_group_id, group_path, status).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "root_group_id",
            "description": "use root group ids to get all groups.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "parent_group_id",
            "description": "parent group ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "group_id",
            "description": "group ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "group_path",
            "description": "group path, a concat string gid-xxx.gid-xxx.gid...",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "group_name",
            "description": "group name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|deleted].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AccountManager"
        ]
      },
      "delete": {
        "summary": "Delete groups",
        "operationId": "DeleteGroups",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteGroupsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteGroupsRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      },
      "post": {
        "summary": "Create group, a group contain one more user",
        "operationId": "CreateGroup",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateGroupResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateGroupRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      },
      "patch": {
        "summary": "Modify group info",
        "operationId": "ModifyGroup",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyGroupResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyGroupRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      }
    },
    "/v1/groups:join": {
      "post": {
        "summary": "Join groups, user can join in groups",
        "operationId": "JoinGroup",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixJoinGroupResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixJoinGroupRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      }
    },
    "/v1/groups:leave": {
      "post": {
        "summary": "Leave groups, user can leave from groups",
        "operationId": "LeaveGroup",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixLeaveGroupResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixLeaveGroupRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      }
    },
    "/v1/groups_detail": {
      "get": {
        "summary": "Get groups, include all user in this group, can filter with these fields(group_id, parent_group_id, group_path, status), default return all groups",
        "operationId": "DescribeGroupsDetail",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeGroupsDetailResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(group_id, parent_group_id, group_path, status).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "root_group_id",
            "description": "use root group ids to get all groups.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "parent_group_id",
            "description": "parent group ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "group_id",
            "description": "group ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "group_path",
            "description": "group path, a concat string gid-xxx.gid-xxx.gid...",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "group_name",
            "description": "group name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|deleted].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AccountManager"
        ]
      }
    },
    "/v1/isv_users": {
      "post": {
        "summary": "Isv of platform create user",
        "operationId": "IsvCreateUser",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateUserResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateUserRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      }
    },
    "/v1/oauth2/client": {
      "post": {
        "summary": "Create client",
        "operationId": "CreateClient",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateClientResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateClientRequest"
            }
          }
        ],
        "tags": [
          "TokenManager"
        ]
      }
    },
    "/v1/oauth2/token": {
      "post": {
        "summary": "Get users, include user info of role and group, filter with fields(user_id, email, phone_number, status), default return all users",
        "operationId": "Token",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixTokenResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixTokenRequest"
            }
          }
        ],
        "tags": [
          "TokenManager"
        ],
        "security": []
      }
    },
    "/v1/role": {
      "get": {
        "summary": "Get role info",
        "operationId": "GetRole",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetRoleResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "role_id",
            "description": "required, use role id to get role info.",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "AccessManager"
        ]
      }
    },
    "/v1/roles": {
      "get": {
        "summary": "Get roles",
        "operationId": "DescribeRoles",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeRolesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(role_id, portal, status).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "role_id",
            "description": "role ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "role_name",
            "description": "name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "portal",
            "description": "portal eg.[global_admin|user|isv].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|deleted].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "action_bundle_id",
            "description": "action bundle ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AccessManager"
        ]
      },
      "delete": {
        "summary": "Batch delete roles",
        "operationId": "DeleteRoles",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteRolesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteRolesRequest"
            }
          }
        ],
        "tags": [
          "AccessManager"
        ]
      },
      "post": {
        "summary": "Create role, different role has different permissions",
        "operationId": "CreateRole",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRoleResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRoleRequest"
            }
          }
        ],
        "tags": [
          "AccessManager"
        ]
      },
      "patch": {
        "summary": "Batch modify role info",
        "operationId": "ModifyRole",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyRoleResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyRoleRequest"
            }
          }
        ],
        "tags": [
          "AccessManager"
        ]
      }
    },
    "/v1/roles:module": {
      "get": {
        "summary": "Get role module, different role has different permission to access different module",
        "operationId": "GetRoleModule",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetRoleModuleResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "role_id",
            "description": "required, use role id to get role's module.",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "AccessManager"
        ]
      },
      "post": {
        "summary": "Modify role module that can be visited",
        "operationId": "ModifyRoleModule",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyRoleModuleResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyRoleModuleRequest"
            }
          }
        ],
        "tags": [
          "AccessManager"
        ]
      }
    },
    "/v1/user:role": {
      "delete": {
        "summary": "Unbind user and role",
        "operationId": "UnbindUserRole",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixUnbindUserRoleResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixUnbindUserRoleRequest"
            }
          }
        ],
        "tags": [
          "AccessManager"
        ]
      },
      "post": {
        "summary": "Bind role and user, a user belong to a role",
        "operationId": "BindUserRole",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixBindUserRoleResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixBindUserRoleRequest"
            }
          }
        ],
        "tags": [
          "AccessManager"
        ]
      }
    },
    "/v1/users": {
      "get": {
        "summary": "Get users, filter with fields(user_id, email, phone_number, status), default return all users",
        "operationId": "DescribeUsers",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeUsersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(user_id, email, phone_number, status).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit, default 20, max 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "root_group_id",
            "description": "use root group ids to get all group ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "group_id",
            "description": "group ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "user_id",
            "description": "user ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|deleted].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "role_id",
            "description": "role ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "username",
            "description": "username.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "email",
            "description": "email, eg.op@yunify.com.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "phone_number",
            "description": "phone number, string of 11 digital.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AccountManager"
        ]
      },
      "delete": {
        "summary": "Delete user by user_id",
        "operationId": "DeleteUsers",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteUsersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteUsersRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      },
      "post": {
        "summary": "Create user, if user have admin permission",
        "operationId": "CreateUser",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateUserResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateUserRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      },
      "patch": {
        "summary": "Modify user info",
        "operationId": "ModifyUser",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyUserResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyUserRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      }
    },
    "/v1/users/password:change": {
      "post": {
        "summary": "Change user password",
        "operationId": "ChangePassword",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixChangePasswordResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixChangePasswordRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      }
    },
    "/v1/users/password:reset": {
      "get": {
        "summary": "Get a request of reset user's password",
        "operationId": "GetPasswordReset",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetPasswordResetResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "reset_id",
            "description": "required, reset id.",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "AccountManager"
        ]
      },
      "post": {
        "summary": "Create a request to reset user's passwo",
        "operationId": "CreatePasswordReset",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreatePasswordResetResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreatePasswordResetRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      }
    },
    "/v1/users/password:validate": {
      "post": {
        "summary": "Validate user and password",
        "operationId": "ValidateUserPassword",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixValidateUserPasswordResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixValidateUserPasswordRequest"
            }
          }
        ],
        "tags": [
          "AccountManager"
        ]
      }
    },
    "/v1/users_detail": {
      "get": {
        "summary": "Get users, include user info of role and group, filter with fields(user_id, email, phone_number, status), default return all users",
        "operationId": "DescribeUsersDetail",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeUsersDetailResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(user_id, email, phone_number, status).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit, default 20, max 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "root_group_id",
            "description": "use root group ids to get all group ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "group_id",
            "description": "group ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "user_id",
            "description": "user ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|deleted].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "role_id",
            "description": "role ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "username",
            "description": "username.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "email",
            "description": "email, eg.op@yunify.com.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "phone_number",
            "description": "phone number, string of 11 digital.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AccountManager"
        ]
      }
    },
    "/v1/active_app_versions": {
      "get": {
        "summary": "Get active versions of app, can filter with these fields(version_id, app_id, name, owner, description, package_name, status, type), default return all active app versions",
        "operationId": "DescribeActiveAppVersions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeAppVersionsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(version_id, app_id, name, owner, description, package_name, status, type).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "version_id",
            "description": "app version ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "app_id",
            "description": "app ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "name",
            "description": "app version name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "description",
            "description": "description.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "package_name",
            "description": "app version package name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "app version status eg.[draft|submitted|passed|rejected|active|in-review|deleted|suspended].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "type",
            "description": "app version type.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/active_apps": {
      "get": {
        "summary": "Get active apps, can filter with these fields(app_id, name, repo_id, description, status, home, icon, screenshots, maintainers, sources, readme, owner, chart_name), default return all apps",
        "operationId": "DescribeActiveApps",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeAppsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(app_id, name, repo_id, description, status, home, icon, screenshots, maintainers, sources, readme, owner, chart_name).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default is 20, max value is 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default is 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "app_id",
            "description": "app ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "name",
            "description": "app name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "repo_id",
            "description": "app repository ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "app status eg.[modify|submit|review|cancel|release|delete|pass|reject|suspend|recover].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "app owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "chart_name",
            "description": "app chart name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "category_id",
            "description": "app category ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "display_columns",
            "description": "select column to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "isv",
            "description": "isv.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app/attachment": {
      "patch": {
        "summary": "Upload app attachment",
        "operationId": "UploadAppAttachment",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixUploadAppAttachmentResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixUploadAppAttachmentRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/cancel": {
      "post": {
        "summary": "Cancel version of the app",
        "operationId": "CancelAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCancelAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCancelAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/delete": {
      "post": {
        "summary": "Delete version of the app",
        "operationId": "DeleteAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/pass/admin": {
      "post": {
        "summary": "Operator of admin pass version of the app",
        "operationId": "AdminPassAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixPassAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixPassAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/pass/business": {
      "post": {
        "summary": "Operator of business pass version of the app",
        "operationId": "BusinessPassAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixPassAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixPassAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/pass/isv": {
      "post": {
        "summary": "Operator of isv pass version of the app",
        "operationId": "IsvPassAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixPassAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixPassAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/pass/technical": {
      "post": {
        "summary": "Operator of technical pass version of the app",
        "operationId": "TechnicalPassAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixPassAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixPassAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/recover": {
      "post": {
        "summary": "Recover version of app",
        "operationId": "RecoverAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixRecoverAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixRecoverAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/reject/admin": {
      "post": {
        "summary": "Operator of Admin reject version of the app",
        "operationId": "AdminRejectAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixRejectAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixRejectAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/reject/business": {
      "post": {
        "summary": "Operator of business reject version of the app",
        "operationId": "BusinessRejectAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixRejectAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixRejectAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/reject/isv": {
      "post": {
        "summary": "Operator of isv reject version of the app",
        "operationId": "IsvRejectAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixRejectAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixRejectAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/reject/technical": {
      "post": {
        "summary": "Operator of technical reject version of the app",
        "operationId": "TechnicalRejectAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixRejectAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixRejectAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/release": {
      "post": {
        "summary": "Release version of the app",
        "operationId": "ReleaseAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixReleaseAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixReleaseAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/review/business": {
      "post": {
        "summary": "Operator of business review version of the app",
        "operationId": "BusinessReviewAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixReviewAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixReviewAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/review/isv": {
      "post": {
        "summary": "Operator of isv review version of the app",
        "operationId": "IsvReviewAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixReviewAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixReviewAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/review/technical": {
      "post": {
        "summary": "Operator of technical review version of the app",
        "operationId": "TechnicalReviewAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixReviewAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixReviewAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/submit": {
      "post": {
        "summary": "Submit version of the app",
        "operationId": "SubmitAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixSubmitAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixSubmitAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/action/suspend": {
      "post": {
        "summary": "Suspend app version",
        "operationId": "SuspendAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixSuspendAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixSuspendAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/package": {
      "get": {
        "summary": "Get packages of version-specific app",
        "operationId": "GetAppVersionPackage",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetAppVersionPackageResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "version_id",
            "description": "required, use version id to get package.",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version/package/files": {
      "get": {
        "summary": "Get app package files",
        "operationId": "GetAppVersionPackageFiles",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetAppVersionPackageFilesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "version_id",
            "description": "use version id to get file of package.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "files",
            "description": "files.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version_audits": {
      "get": {
        "summary": "Get audits information of version-specific app, can filter with these fields(version_id, app_id, status, operator, role), default return all app version audits",
        "operationId": "DescribeAppVersionAudits",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeAppVersionAuditsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(version_id, app_id, status, operator, role).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default is 20, max value is 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default is 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "app_id",
            "description": "app ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "version_id",
            "description": "app version ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "app version audit status eg.[draft|submitted|passed|rejected|active|in-review|deleted|suspended].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "operator",
            "description": "auditer of app version.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "operator_type",
            "description": "operator type eg.[global_admin|developer|business|technical|isv].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_version_reviews": {
      "get": {
        "summary": "Get reviews of version-specific app, can filter with these fields(review_id, version_id, app_id, status, reviewer)",
        "operationId": "DescribeAppVersionReviews",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeAppVersionReviewsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(review_id, version_id, app_id, status, reviewer).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default is 20, max value is 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default is 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "app_id",
            "description": "app ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "version_id",
            "description": "app version ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "review_id",
            "description": "app version review ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "app version status eg.[isv-in-review|isv-passed|isv-rejected|isv-draft|business-in-review|business-passed|business-rejected|develop-draft|develop-in-review|develop-passed|develop-rejected|develop-draft].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "reviewer",
            "description": "reviewer of app version eg.[global_admin|developer|business|technical|isv].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/app_versions": {
      "get": {
        "summary": "Get versions of app, can filter with these fields(version_id, app_id, name, owner, description, package_name, status, type), default return all app versions",
        "operationId": "DescribeAppVersions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeAppVersionsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(version_id, app_id, name, owner, description, package_name, status, type).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "version_id",
            "description": "app version ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "app_id",
            "description": "app ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "name",
            "description": "app version name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "description",
            "description": "description.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "package_name",
            "description": "app version package name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "app version status eg.[draft|submitted|passed|rejected|active|in-review|deleted|suspended].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "type",
            "description": "app version type.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AppManager"
        ]
      },
      "post": {
        "summary": "Create app of specific version",
        "operationId": "CreateAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      },
      "patch": {
        "summary": "Modify version info of the app",
        "operationId": "ModifyAppVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyAppVersionResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyAppVersionRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/apps": {
      "get": {
        "summary": "Get apps, can filter with these fields(app_id, name, repo_id, description, status, home, icon, screenshots, maintainers, sources, readme, owner, chart_name), default return all apps",
        "operationId": "DescribeApps",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeAppsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(app_id, name, repo_id, description, status, home, icon, screenshots, maintainers, sources, readme, owner, chart_name).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default is 20, max value is 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default is 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "app_id",
            "description": "app ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "name",
            "description": "app name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "repo_id",
            "description": "app repository ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "app status eg.[modify|submit|review|cancel|release|delete|pass|reject|suspend|recover].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "app owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "chart_name",
            "description": "app chart name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "category_id",
            "description": "app category ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "display_columns",
            "description": "select column to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "isv",
            "description": "isv.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "AppManager"
        ]
      },
      "delete": {
        "summary": "Batch delete apps",
        "operationId": "DeleteApps",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteAppsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteAppsRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      },
      "post": {
        "summary": "Create app, user of isv can create app on the platform",
        "operationId": "CreateApp",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateAppResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateAppRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      },
      "patch": {
        "summary": "Modify app info",
        "operationId": "ModifyApp",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyAppResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyAppRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/apps/statistics": {
      "get": {
        "summary": "Get statistics info of apps",
        "operationId": "GetAppStatistics",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetAppStatisticsResponse"
            }
          }
        },
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/apps/validate_package": {
      "post": {
        "summary": "Validate format of package(pack by op tool)",
        "operationId": "ValidatePackage",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixValidatePackageResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixValidatePackageRequest"
            }
          }
        ],
        "tags": [
          "AppManager"
        ]
      }
    },
    "/v1/attachments": {
      "get": {
        "summary": "Get attachment, use attachment id to get attachment",
        "operationId": "GetAttachment",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetAttachmentResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "attachment_id",
            "description": "required, use attachment id to get attachment.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "filename",
            "description": "filename, attachment contain one more file.",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "AttachmentService"
        ]
      }
    },
    "/v1/categories": {
      "get": {
        "summary": "Get categories, support filter with these fields(category_id, status, locale, owner, name), default return all categories",
        "operationId": "DescribeCategories",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeCategoriesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, can fields with these fields(category_id, status, locale, owner, name), default return all categories.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select column to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "category_id",
            "description": "category ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "name",
            "description": "category name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "CategoryManager"
        ]
      },
      "delete": {
        "summary": "Batch delete categories",
        "operationId": "DeleteCategories",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteCategoriesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteCategoriesRequest"
            }
          }
        ],
        "tags": [
          "CategoryManager"
        ]
      },
      "post": {
        "summary": "Create category",
        "operationId": "CreateCategory",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateCategoryResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateCategoryRequest"
            }
          }
        ],
        "tags": [
          "CategoryManager"
        ]
      },
      "patch": {
        "summary": "Modify category",
        "operationId": "ModifyCategory",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyCategoryResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyCategoryRequest"
            }
          }
        ],
        "tags": [
          "CategoryManager"
        ]
      }
    },
    "/v1/clusters": {
      "get": {
        "summary": "Get clusters, can filter with these fields(cluster_id, app_id, version_id, status, runtime_id, frontgate_id, owner, cluster_type), default return all clusters",
        "operationId": "DescribeClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeClustersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "cluster_id",
            "description": "cluster ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "app_id",
            "description": "app ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "version_id",
            "description": "version ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "cluster status eg.[active|used|enabled|disabled|deleted|stopped|ceased].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "runtime_id",
            "description": "runtime ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "frontgate_id",
            "description": "frontgate ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "external_cluster_id",
            "description": "external cluster id.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "search_word",
            "description": "query key, support these fields(cluster_id, app_id, version_id, status, runtime_id, frontgate_id, owner, cluster_type).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "cluster_type",
            "description": "cluster type, frontgate or normal cluster.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "with_detail",
            "description": "get cluster detail info or not.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "created_date",
            "description": "cluster created duration eg.[1 day].",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select column to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/add_nodes": {
      "post": {
        "summary": "Batch add nodes to cluster",
        "operationId": "AddClusterNodes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixAddClusterNodesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixAddClusterNodesRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/apps": {
      "get": {
        "summary": "Get app clusters, can filter with these fields(cluster_id, app_id, version_id, status, runtime_id, frontgate_id, owner, cluster_type), default return all app clusters",
        "operationId": "DescribeAppClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeAppClustersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "app_id",
            "description": "app ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|used|enabled|disabled|deleted|stopped|ceased].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "search_word",
            "description": "query key, support these fields(cluster_id, app_id, version_id, status, runtime_id, frontgate_id, owner, cluster_type).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "with_detail",
            "description": "get cluster with detail.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "created_date",
            "description": "cluster created duration eg.[1 day].",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/cease": {
      "post": {
        "summary": "Batch cease clusters",
        "operationId": "CeaseClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCeaseClustersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCeaseClustersRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/create": {
      "post": {
        "summary": "Create cluster",
        "operationId": "CreateCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateClusterResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateClusterRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/delete": {
      "post": {
        "summary": "Batch delete clusters",
        "operationId": "DeleteClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteClustersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteClustersRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/delete_nodes": {
      "post": {
        "summary": "Batch delete nodes from cluster",
        "operationId": "DeleteClusterNodes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteClusterNodesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteClusterNodesRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/key_pair/attach": {
      "post": {
        "summary": "Batch attach key pairs to node",
        "operationId": "AttachKeyPairs",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixAttachKeyPairsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixAttachKeyPairsRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/key_pair/detach": {
      "post": {
        "summary": "Batch detach key pairs from node",
        "operationId": "DetachKeyPairs",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDetachKeyPairsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDetachKeyPairsRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/key_pairs": {
      "get": {
        "summary": "Get key pairs, support filter with these fields(key_pair_id, name, owner), default return all key pairs",
        "operationId": "DescribeKeyPairs",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeKeyPairsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "key_pair_id",
            "description": "key pair id.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "name",
            "description": "key pair name.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "description",
            "description": "key pair description.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "pub_key",
            "description": "public key.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "search_word",
            "description": "query key, can filter with these fields(key_pair_id, name, owner).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      },
      "delete": {
        "summary": "Batch delete key pairs",
        "operationId": "DeleteKeyPairs",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteKeyPairsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteKeyPairsRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      },
      "post": {
        "summary": "Create key pair",
        "operationId": "CreateKeyPair",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateKeyPairResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateKeyPairRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/modify": {
      "post": {
        "summary": "Modify cluster attributes",
        "operationId": "ModifyClusterAttributes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyClusterAttributesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyClusterAttributesRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/modify_nodes": {
      "post": {
        "summary": "Modify node attributes in the cluster",
        "operationId": "ModifyClusterNodeAttributes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyClusterNodeAttributesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyClusterNodeAttributesRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/nodes": {
      "get": {
        "summary": "Get nodes in cluster, can filter with these fields(cluster_id, node_id, status, owner)",
        "operationId": "DescribeClusterNodes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeClusterNodesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "cluster_id",
            "description": "cluster id.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "node_id",
            "description": "node ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|used|enabled|disabled|deleted|stopped|ceased].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "search_word",
            "description": "query key, support these fields(cluster_id, node_id, status, owner).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/recover": {
      "post": {
        "summary": "Batch recover clusters",
        "operationId": "RecoverClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixRecoverClustersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixRecoverClustersRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/resize": {
      "post": {
        "summary": "Resize cluster",
        "operationId": "ResizeCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixResizeClusterResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixResizeClusterRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/rollback": {
      "post": {
        "summary": "Rollback cluster",
        "operationId": "RollbackCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixRollbackClusterResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixRollbackClusterRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/start": {
      "post": {
        "summary": "Batch start clusters",
        "operationId": "StartClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixStartClustersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixStartClustersRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/statistics": {
      "get": {
        "summary": "Get statistics of cluster",
        "operationId": "GetClusterStatistics",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetClusterStatisticsResponse"
            }
          }
        },
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/stop": {
      "post": {
        "summary": "Batch stop clusters",
        "operationId": "StopClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixStopClustersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixStopClustersRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/subnets": {
      "get": {
        "summary": "Get subnets",
        "operationId": "DescribeSubnets",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeSubnetsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "runtime_id",
            "description": "required, id of runtime that contain subnet.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "subnet_type",
            "description": "subnet type.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "subnet_id",
            "description": "subnet ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "zone",
            "description": "zone eg.[pek3a|pek3b|...].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "advanced_param",
            "description": "advanced param.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/update_env": {
      "patch": {
        "summary": "Update env of cluster",
        "operationId": "UpdateClusterEnv",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixUpdateClusterEnvResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixUpdateClusterEnvRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/clusters/upgrade": {
      "post": {
        "summary": "Upgrade cluster",
        "operationId": "UpgradeCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixUpgradeClusterResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixUpgradeClusterRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/debug_clusters": {
      "get": {
        "summary": "Get debug clusters, can filter with these fields(cluster_id, app_id, version_id, status, runtime_id, frontgate_id, owner, cluster_type), default return all debug clusters",
        "operationId": "DescribeDebugClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeClustersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "cluster_id",
            "description": "cluster ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "app_id",
            "description": "app ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "version_id",
            "description": "version ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "cluster status eg.[active|used|enabled|disabled|deleted|stopped|ceased].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "runtime_id",
            "description": "runtime ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "frontgate_id",
            "description": "frontgate ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "external_cluster_id",
            "description": "external cluster id.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "search_word",
            "description": "query key, support these fields(cluster_id, app_id, version_id, status, runtime_id, frontgate_id, owner, cluster_type).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "cluster_type",
            "description": "cluster type, frontgate or normal cluster.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "with_detail",
            "description": "get cluster detail info or not.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "created_date",
            "description": "cluster created duration eg.[1 day].",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select column to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/debug_clusters/apps": {
      "get": {
        "summary": "Get debug app clusters, can filter with these fields(cluster_id, app_id, version_id, status, runtime_id, frontgate_id, owner, cluster_type), default return all debug app clusters",
        "operationId": "DescribeDebugAppClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeAppClustersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "app_id",
            "description": "app ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|used|enabled|disabled|deleted|stopped|ceased].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "search_word",
            "description": "query key, support these fields(cluster_id, app_id, version_id, status, runtime_id, frontgate_id, owner, cluster_type).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "with_detail",
            "description": "get cluster with detail.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "created_date",
            "description": "cluster created duration eg.[1 day].",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/debug_clusters/create": {
      "post": {
        "summary": "Create debug cluster",
        "operationId": "CreateDebugCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateClusterResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateClusterRequest"
            }
          }
        ],
        "tags": [
          "ClusterManager"
        ]
      }
    },
    "/v1/app_vendors": {
      "get": {
        "summary": "Get vendor verifies info, can filer with these fields(user_id, status), default return all VendorVerifyInfos",
        "operationId": "DescribeVendorVerifyInfos",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeVendorVerifyInfosResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(user_id, status).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "user_id",
            "description": "user ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[draft|submitted|passed|rejected|suspended|in-review|new].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "display_columns",
            "description": "select column to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "IsvManager"
        ]
      },
      "post": {
        "summary": "Submit vendor verify info",
        "operationId": "SubmitVendorVerifyInfo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixSubmitVendorVerifyInfoResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixSubmitVendorVerifyInfoRequest"
            }
          }
        ],
        "tags": [
          "IsvManager"
        ]
      }
    },
    "/v1/app_vendors/app_vendor": {
      "get": {
        "summary": "Get vendor verify info",
        "operationId": "GetVendorVerifyInfo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetVendorVerifyInfoResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "user_id",
            "description": "required, use user id to get vendor verify info.",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "IsvManager"
        ]
      }
    },
    "/v1/app_vendors/app_vendor_statistics": {
      "get": {
        "summary": "Get statistics of vendor",
        "operationId": "DescribeAppVendorStatistics",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeVendorStatisticsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(user_id, status).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "user_id",
            "description": "user ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[draft|submitted|passed|rejected|suspended|in-review|new].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "display_columns",
            "description": "select column to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "IsvManager"
        ]
      }
    },
    "/v1/app_vendors/pass": {
      "post": {
        "summary": "Pass vendor verify",
        "operationId": "PassVendorVerifyInfo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixPassVendorVerifyInfoResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixPassVendorVerifyInfoRequest"
            }
          }
        ],
        "tags": [
          "IsvManager"
        ]
      }
    },
    "/v1/app_vendors/reject": {
      "post": {
        "summary": "Reject vendor verify",
        "operationId": "RejectVendorVerifyInfo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixRejectVendorVerifyInfoResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixRejectVendorVerifyInfoRequest"
            }
          }
        ],
        "tags": [
          "IsvManager"
        ]
      }
    },
    "/v1/jobs": {
      "get": {
        "summary": "Get job, filter with these fields(job_id, cluster_id, app_id, version_id, executor, provider, status, owner), default return all jobs",
        "operationId": "DescribeJobs",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeJobsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(job_id, cluster_id, app_id, version_id, executor, provider, status, owner).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select column to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "job_id",
            "description": "job ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "cluster_id",
            "description": "cluster id.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "app_id",
            "description": "app id.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "version_id",
            "description": "specific app version id to filter result.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "executor",
            "description": "host name of server.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "provider",
            "description": "runtime provider eg.[qingcloud|aliyun|aws|kubernetes].",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "runtime_id",
            "description": "runtime id.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status",
            "description": "status eg.[successful|failed|running|pending].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "JobManager"
        ]
      }
    },
    "/v1/market_users": {
      "get": {
        "summary": "Get users with filter",
        "operationId": "DescribeMarketUsers",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeMarketUsersResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "default is 20, max value is 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "default is 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "market_id",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "MarketManager"
        ]
      }
    },
    "/v1/markets": {
      "get": {
        "summary": "Describe markets with filter",
        "operationId": "DescribeMarkets",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeMarketsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "default is 20, max value is 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "default is 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "market_id",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "visibility",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "MarketManager"
        ]
      },
      "delete": {
        "summary": "Delete markets",
        "operationId": "DeleteMarkets",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteMarketsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteMarketsRequest"
            }
          }
        ],
        "tags": [
          "MarketManager"
        ]
      },
      "post": {
        "summary": "Create market",
        "operationId": "CreateMarket",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateMarketResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateMarketRequest"
            }
          }
        ],
        "tags": [
          "MarketManager"
        ]
      },
      "patch": {
        "summary": "Modify market",
        "operationId": "ModifyMarket",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyMarketResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyMarketRequest"
            }
          }
        ],
        "tags": [
          "MarketManager"
        ]
      }
    },
    "/v1/markets:join": {
      "post": {
        "summary": "Join market",
        "operationId": "UserJoinMarket",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixUserJoinMarketResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixUserJoinMarketRequest"
            }
          }
        ],
        "tags": [
          "MarketManager"
        ]
      }
    },
    "/v1/markets:leave": {
      "post": {
        "summary": "Leave market",
        "operationId": "UserLeaveMarket",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixUserLeaveMarketResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixUserLeaveMarketRequest"
            }
          }
        ],
        "tags": [
          "MarketManager"
        ]
      }
    },
    "/v1/repos": {
      "get": {
        "summary": "Get repositories ,filter with these fields(repo_id, name, type, visibility, status, app_default_status, owner, controller), default return all repositories",
        "operationId": "DescribeRepos",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeReposResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(repo_id, name, type, visibility, status, app_default_status, owner, controller).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "repo_id",
            "description": "repository ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "name",
            "description": "repository name.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "type",
            "description": "repository type.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "visibility",
            "description": "visibility eg:[public|private].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|deleted].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "provider",
            "description": "runtime provider eg.[qingcloud|aliyun|aws|kubernetes].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "label",
            "description": "a kv string, tags of server.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "selector",
            "description": "selector of label.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "category_id",
            "description": "category ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "app_default_status",
            "description": "app default status eg.[draft|active].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "user_id",
            "description": "user id.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "controller",
            "description": "controller, value 0 for self resource, value1 for openpitrix resource.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "tags": [
          "RepoManager"
        ]
      },
      "delete": {
        "summary": "Batch delete repositories",
        "operationId": "DeleteRepos",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteReposResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteReposRequest"
            }
          }
        ],
        "tags": [
          "RepoManager"
        ]
      },
      "post": {
        "summary": "Create repository, repository used to store package of app",
        "operationId": "CreateRepo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRepoResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRepoRequest"
            }
          }
        ],
        "tags": [
          "RepoManager"
        ]
      },
      "patch": {
        "summary": "Modify repository",
        "operationId": "ModifyRepo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyRepoResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyRepoRequest"
            }
          }
        ],
        "tags": [
          "RepoManager"
        ]
      }
    },
    "/v1/repos/validate": {
      "get": {
        "summary": "Validate repository",
        "operationId": "ValidateRepo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixValidateRepoResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "type",
            "description": "required, type of repository.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "url",
            "description": "required, url of visiting the repository.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "credential",
            "description": "required, credential of visiting the repository.",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "RepoManager"
        ]
      }
    },
    "/v1/repo_events": {
      "get": {
        "summary": "Get repository events",
        "operationId": "DescribeRepoEvents",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeRepoEventsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "repo_event_id",
            "description": "repository event ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "repo_id",
            "description": "repository ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "repository event status eg.[failed|successful|working|pending].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "RepoIndexer"
        ]
      }
    },
    "/v1/repos/index": {
      "post": {
        "summary": "Start index repository event",
        "operationId": "IndexRepo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixIndexRepoResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixIndexRepoRequest"
            }
          }
        ],
        "tags": [
          "RepoIndexer"
        ]
      }
    },
    "/v1/debug_runtimes": {
      "get": {
        "summary": "Get debug runtimes, can filter with these fields(runtime_id, provider, zone, status, owner), default return all debug runtimes",
        "operationId": "DescribeDebugRuntimes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeRuntimesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(runtime_id, provider, zone, status, owner).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "runtime_id",
            "description": "runtime ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|deleted].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "provider",
            "description": "runtime provider eg.[qingcloud|aliyun|aws|kubernetes].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "runtime_credential_id",
            "description": "runtime credential id.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      },
      "post": {
        "summary": "Create debug runtime",
        "operationId": "CreateDebugRuntime",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRuntimeResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRuntimeRequest"
            }
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      }
    },
    "/v1/debug_runtimes/credentials": {
      "get": {
        "summary": "Get debug runtime credentials, filter with these fields(runtime_credential_id, status, provider, owner), default return all debug runtime credentials",
        "operationId": "DescribeDebugRuntimeCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeRuntimeCredentialsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "runtime_credential_id",
            "description": "runtime credential ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|deleted].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "provider",
            "description": "runtime provider eg.[qingcloud|aliyun|aws|kubernetes].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      },
      "post": {
        "summary": "Create debug runtime credential",
        "operationId": "CreateDebugRuntimeCredential",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRuntimeCredentialResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRuntimeCredentialRequest"
            }
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      }
    },
    "/v1/runtimes": {
      "get": {
        "summary": "Get runtimes, can filter with these fields(runtime_id, provider, zone, status, owner), default return all runtimes",
        "operationId": "DescribeRuntimes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeRuntimesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(runtime_id, provider, zone, status, owner).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "runtime_id",
            "description": "runtime ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|deleted].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "provider",
            "description": "runtime provider eg.[qingcloud|aliyun|aws|kubernetes].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "runtime_credential_id",
            "description": "runtime credential id.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      },
      "delete": {
        "summary": "Delete runtimes",
        "operationId": "DeleteRuntimes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteRuntimesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteRuntimesRequest"
            }
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      },
      "post": {
        "summary": "Create runtime",
        "operationId": "CreateRuntime",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRuntimeResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRuntimeRequest"
            }
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      },
      "patch": {
        "summary": "Modify runtime",
        "operationId": "ModifyRuntime",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyRuntimeResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyRuntimeRequest"
            }
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      }
    },
    "/v1/runtimes/credentials": {
      "get": {
        "summary": "Get runtime credentials, filter with these fields(runtime_credential_id, status, provider, owner), default return all runtime credentials",
        "operationId": "DescribeRuntimeCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeRuntimeCredentialsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "runtime_credential_id",
            "description": "runtime credential ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "status",
            "description": "status eg.[active|deleted].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "provider",
            "description": "runtime provider eg.[qingcloud|aliyun|aws|kubernetes].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      },
      "delete": {
        "summary": "Batch delete runtime credentials",
        "operationId": "DeleteRuntimeCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteRuntimeCredentialsResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixDeleteRuntimeCredentialsRequest"
            }
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      },
      "post": {
        "summary": "create runtime credential",
        "operationId": "CreateRuntimeCredential",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRuntimeCredentialResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixCreateRuntimeCredentialRequest"
            }
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      },
      "patch": {
        "summary": "Modify runtime credential",
        "operationId": "ModifyRuntimeCredential",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixModifyRuntimeCredentialResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixModifyRuntimeCredentialRequest"
            }
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      }
    },
    "/v1/runtimes/credentials:validate": {
      "post": {
        "summary": "Validate runtime credential",
        "operationId": "ValidateRuntimeCredential",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixValidateRuntimeCredentialResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixValidateRuntimeCredentialRequest"
            }
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      }
    },
    "/v1/runtimes/statistics": {
      "get": {
        "summary": "get statistics of runtime",
        "operationId": "GetRuntimeStatistics",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetRuntimeStatisticsResponse"
            }
          }
        },
        "tags": [
          "RuntimeManager"
        ]
      }
    },
    "/v1/runtimes/zones": {
      "get": {
        "summary": "Get runtime provider zones",
        "operationId": "DescribeRuntimeProviderZones",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeRuntimeProviderZonesResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "runtime_credential_id",
            "description": "required, use runtime credential id to get run time provider zones.",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "RuntimeManager"
        ]
      }
    },
    "/v1/service_configs/get": {
      "post": {
        "summary": "Get service configration",
        "operationId": "GetServiceConfig",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixGetServiceConfigResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixGetServiceConfigRequest"
            }
          }
        ],
        "tags": [
          "ServiceConfig"
        ]
      }
    },
    "/v1/service_configs/set": {
      "post": {
        "summary": "Set service configration",
        "operationId": "SetServiceConfig",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixSetServiceConfigResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixSetServiceConfigRequest"
            }
          }
        ],
        "tags": [
          "ServiceConfig"
        ]
      }
    },
    "/v1/service_configs/validate_email_service": {
      "post": {
        "summary": "Validate email service",
        "operationId": "ValidateEmailService",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixValidateEmailServiceResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixValidateEmailServiceRequest"
            }
          }
        ],
        "tags": [
          "ServiceConfig"
        ]
      }
    },
    "/v1/tasks": {
      "get": {
        "summary": "Get tasks, can filter with these fields(job_id, task_id, executor, status, owner), default return all tasks",
        "operationId": "DescribeTasks",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixDescribeTasksResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "search_word",
            "description": "query key, support these fields(job_id, task_id, executor, status, owner).",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_key",
            "description": "sort key, order by sort_key, default create_time.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "reverse",
            "description": "value = 0 sort ASC, value = 1 sort DESC.",
            "in": "query",
            "required": false,
            "type": "boolean",
            "format": "boolean"
          },
          {
            "name": "limit",
            "description": "data limit per page, default value 20, max value 200.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "offset",
            "description": "data offset, default 0.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "display_columns",
            "description": "select columns to display.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "task_id",
            "description": "task ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "job_id",
            "description": "job ids.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "executor",
            "description": "host name of server.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "target",
            "description": "target eg.[runtime|pilot].",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status",
            "description": "task status eg.[running|successful|failed|pending].",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "owner",
            "description": "owner.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "TaskManager"
        ]
      }
    },
    "/v1/tasks/retry": {
      "post": {
        "summary": "Retry tasks",
        "operationId": "RetryTasks",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/openpitrixRetryTasksResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/openpitrixRetryTasksRequest"
            }
          }
        ],
        "tags": [
          "TaskManager"
        ]
      }
    }
  },
  "definitions": {
    "openpitrixActionBundle": {
      "type": "object",
      "properties": {
        "action_bundle_id": {
          "type": "string",
          "title": "bundle of action, bundle contain one more api"
        },
        "action_bundle_name": {
          "type": "string",
          "title": "name of bundle"
        },
        "api_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixApi"
          },
          "title": "list of api in bundle"
        }
      }
    },
    "openpitrixApi": {
      "type": "object",
      "properties": {
        "api_id": {
          "type": "string",
          "title": "api id"
        },
        "api_method": {
          "type": "string",
          "title": "api method, rpc method eg.[Token|CanDo|...]"
        },
        "url_method": {
          "type": "string",
          "title": "url method, http verb"
        },
        "url": {
          "type": "string",
          "title": "request url"
        }
      }
    },
    "openpitrixBindUserRoleRequest": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of user to bind"
        },
        "role_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of role for user to bind with"
        }
      }
    },
    "openpitrixBindUserRoleResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of user bind"
        },
        "role_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of role for user to bind with"
        }
      }
    },
    "openpitrixCanDoRequest": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "required, id of user to check whether has permission"
        },
        "url": {
          "type": "string",
          "title": "required, request uri"
        },
        "url_method": {
          "type": "string",
          "title": "required, url method, http verb"
        },
        "api_method": {
          "type": "string",
          "title": "rpc method eg.[Token|CanDo|...]"
        }
      }
    },
    "openpitrixCanDoResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "id of user to check whether has permission"
        },
        "access_path": {
          "type": "string",
          "title": "access path of user"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path of user, concat string group_path:user_id"
        }
      }
    },
    "openpitrixChangePasswordRequest": {
      "type": "object",
      "properties": {
        "new_password": {
          "type": "string",
          "title": "required, new password for reset"
        },
        "reset_id": {
          "type": "string",
          "title": "required, reset id"
        }
      }
    },
    "openpitrixChangePasswordResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "id of user that changed password"
        }
      }
    },
    "openpitrixCreateClientRequest": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "required, user id for create client"
        }
      }
    },
    "openpitrixCreateClientResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "user id of client"
        },
        "client_id": {
          "type": "string",
          "title": "client id of user"
        },
        "client_secret": {
          "type": "string",
          "title": "client secret,used for validate client credentials"
        }
      }
    },
    "openpitrixCreateGroupRequest": {
      "type": "object",
      "properties": {
        "parent_group_id": {
          "type": "string",
          "title": "required, parent group id"
        },
        "name": {
          "type": "string",
          "title": "required, group name"
        },
        "description": {
          "type": "string",
          "title": "group description"
        }
      }
    },
    "openpitrixCreateGroupResponse": {
      "type": "object",
      "properties": {
        "group_id": {
          "type": "string",
          "title": "id of group created"
        }
      }
    },
    "openpitrixCreatePasswordResetRequest": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "required, id of user to create reset password action"
        },
        "password": {
          "type": "string",
          "title": "required, user password"
        }
      }
    },
    "openpitrixCreatePasswordResetResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "id of user that reset password"
        },
        "reset_id": {
          "type": "string",
          "title": "reset id, used to change password"
        }
      }
    },
    "openpitrixCreateRoleRequest": {
      "type": "object",
      "properties": {
        "role_name": {
          "type": "string",
          "title": "required, role name"
        },
        "description": {
          "type": "string",
          "title": "role description"
        },
        "portal": {
          "type": "string",
          "title": "required, portal of role eg.[global_admin|user|isv]"
        }
      }
    },
    "openpitrixCreateRoleResponse": {
      "type": "object",
      "properties": {
        "role_id": {
          "type": "string",
          "title": "id of role created"
        }
      }
    },
    "openpitrixCreateUserRequest": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "title": "required, user email"
        },
        "phone_number": {
          "type": "string",
          "title": "user phone number"
        },
        "password": {
          "type": "string",
          "title": "required, user password"
        },
        "role_id": {
          "type": "string",
          "title": "required, user role_id"
        },
        "description": {
          "type": "string",
          "title": "user description"
        }
      }
    },
    "openpitrixCreateUserResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "id of user created"
        }
      }
    },
    "openpitrixDeleteGroupsRequest": {
      "type": "object",
      "properties": {
        "group_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of group to delete"
        }
      }
    },
    "openpitrixDeleteGroupsResponse": {
      "type": "object",
      "properties": {
        "group_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of group deleted"
        }
      }
    },
    "openpitrixDeleteRolesRequest": {
      "type": "object",
      "properties": {
        "role_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of role to delete"
        }
      }
    },
    "openpitrixDeleteRolesResponse": {
      "type": "object",
      "properties": {
        "role_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of roles deleted"
        }
      }
    },
    "openpitrixDeleteUsersRequest": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of user to delete"
        }
      }
    },
    "openpitrixDeleteUsersResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of deleted user"
        }
      }
    },
    "openpitrixDescribeGroupsDetailResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of group with detail info"
        },
        "group_detail_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixGroupDetail"
          },
          "title": "list of group with detail info"
        }
      }
    },
    "openpitrixDescribeGroupsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of qualified group"
        },
        "group_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixGroup"
          },
          "title": "list of group"
        }
      }
    },
    "openpitrixDescribeRolesResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of roles"
        },
        "role_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRole"
          },
          "title": "list of role"
        }
      }
    },
    "openpitrixDescribeUsersDetailResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of qualified user"
        },
        "user_detail_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixUserDetail"
          },
          "title": "list of user with detail info"
        }
      }
    },
    "openpitrixDescribeUsersResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of qualified user"
        },
        "user_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixUser"
          },
          "title": "list of user"
        }
      }
    },
    "openpitrixFeature": {
      "type": "object",
      "properties": {
        "feature_id": {
          "type": "string",
          "title": "feature id"
        },
        "feature_name": {
          "type": "string",
          "title": "feature name"
        },
        "action_bundle_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixActionBundle"
          },
          "title": "list of action bundle"
        },
        "checked_action_bundle_id_set": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "list of checked action bundle"
        }
      }
    },
    "openpitrixGetPasswordResetResponse": {
      "type": "object",
      "properties": {
        "reset_id": {
          "type": "string",
          "title": "reset id"
        },
        "user_id": {
          "type": "string",
          "title": "id of user changed password"
        }
      }
    },
    "openpitrixGetRoleModuleResponse": {
      "type": "object",
      "properties": {
        "role_id": {
          "type": "string",
          "title": "role id"
        },
        "module": {
          "$ref": "#/definitions/openpitrixModule",
          "title": "module info of role"
        }
      }
    },
    "openpitrixGetRoleResponse": {
      "type": "object",
      "properties": {
        "role": {
          "$ref": "#/definitions/openpitrixRole",
          "title": "role info"
        }
      }
    },
    "openpitrixGroup": {
      "type": "object",
      "properties": {
        "parent_group_id": {
          "type": "string",
          "title": "parent group id"
        },
        "group_id": {
          "type": "string",
          "title": "group id"
        },
        "group_path": {
          "type": "string",
          "description": "group path, a concat string gid-xxx.gid-xxx.gid..."
        },
        "name": {
          "type": "string",
          "title": "group name"
        },
        "status": {
          "type": "string",
          "title": "group status eg.[active|deleted]"
        },
        "description": {
          "type": "string",
          "title": "group description"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when user create"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when group update"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record group status changed time"
        }
      }
    },
    "openpitrixGroupDetail": {
      "type": "object",
      "properties": {
        "group": {
          "$ref": "#/definitions/openpitrixGroup",
          "title": "group base info"
        },
        "user_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixUser"
          },
          "title": "users in group"
        }
      }
    },
    "openpitrixJoinGroupRequest": {
      "type": "object",
      "properties": {
        "group_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of group for user to join in"
        },
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of user to join"
        }
      }
    },
    "openpitrixJoinGroupResponse": {
      "type": "object",
      "properties": {
        "group_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of group for user to join in"
        },
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of user to join"
        }
      }
    },
    "openpitrixLeaveGroupRequest": {
      "type": "object",
      "properties": {
        "group_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of group for user to leave from"
        },
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of user to leave"
        }
      }
    },
    "openpitrixLeaveGroupResponse": {
      "type": "object",
      "properties": {
        "group_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of group for user to leave from"
        },
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of user to leave"
        }
      }
    },
    "openpitrixModifyGroupRequest": {
      "type": "object",
      "properties": {
        "group_id": {
          "type": "string",
          "title": "required, id of group to modify"
        },
        "name": {
          "type": "string",
          "title": "group name"
        },
        "description": {
          "type": "string",
          "title": "group description"
        },
        "parent_group_id": {
          "type": "string",
          "title": "parent group id"
        }
      }
    },
    "openpitrixModifyGroupResponse": {
      "type": "object",
      "properties": {
        "group_id": {
          "type": "string",
          "title": "id of group modified"
        }
      }
    },
    "openpitrixModifyRoleModuleRequest": {
      "type": "object",
      "properties": {
        "role_id": {
          "type": "string",
          "title": "required, use role id to modify role module"
        },
        "module": {
          "$ref": "#/definitions/openpitrixModule",
          "title": "required, module info"
        }
      }
    },
    "openpitrixModifyRoleModuleResponse": {
      "type": "object",
      "properties": {
        "role_id": {
          "type": "string",
          "title": "role id used to modify role module"
        }
      }
    },
    "openpitrixModifyRoleRequest": {
      "type": "object",
      "properties": {
        "role_id": {
          "type": "string",
          "title": "required, id of role to modify"
        },
        "role_name": {
          "type": "string",
          "title": "role name"
        },
        "description": {
          "type": "string",
          "title": "role description"
        }
      }
    },
    "openpitrixModifyRoleResponse": {
      "type": "object",
      "properties": {
        "role_id": {
          "type": "string",
          "title": "id of role modified"
        }
      }
    },
    "openpitrixModifyUserRequest": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "required, id of user to be modify"
        },
        "email": {
          "type": "string",
          "title": "user email, eg.op@yunify.com"
        },
        "username": {
          "type": "string",
          "title": "user name"
        },
        "description": {
          "type": "string",
          "title": "user description"
        },
        "password": {
          "type": "string",
          "title": "user password"
        },
        "phone_number": {
          "type": "string",
          "title": "user phone number, string of 11 digital"
        }
      }
    },
    "openpitrixModifyUserResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "id of user modified"
        }
      }
    },
    "openpitrixModule": {
      "type": "object",
      "properties": {
        "module_elem_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixModuleElem"
          },
          "title": "list of module elem"
        }
      }
    },
    "openpitrixModuleElem": {
      "type": "object",
      "properties": {
        "module_id": {
          "type": "string",
          "title": "module id"
        },
        "module_name": {
          "type": "string",
          "title": "module name"
        },
        "feature_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixFeature"
          },
          "title": "list of feature"
        },
        "data_level": {
          "type": "string",
          "title": "access level of visiting data"
        },
        "is_check_all": {
          "type": "boolean",
          "format": "boolean",
          "title": "is all feature in module elem checked"
        }
      }
    },
    "openpitrixRole": {
      "type": "object",
      "properties": {
        "role_id": {
          "type": "string",
          "title": "role id"
        },
        "role_name": {
          "type": "string",
          "title": "role name"
        },
        "description": {
          "type": "string",
          "title": "role description"
        },
        "portal": {
          "type": "string",
          "title": "portal eg.[global_admin|user|isv]"
        },
        "owner": {
          "type": "string",
          "title": "own"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path, concat string group_path:user_id"
        },
        "status": {
          "type": "string",
          "title": "status eg.[active|deleted]"
        },
        "controller": {
          "type": "string",
          "title": "controller eg.[self|pitrix]"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when role create"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when role update"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record change time of status"
        }
      }
    },
    "openpitrixTokenRequest": {
      "type": "object",
      "properties": {
        "grant_type": {
          "type": "string",
          "title": "required, type of client request verification.eg.[client_credentials or password or refresh_token]"
        },
        "client_id": {
          "type": "string",
          "title": "required, client id"
        },
        "client_secret": {
          "type": "string",
          "title": "required, used for validate client credentials"
        },
        "scope": {
          "type": "string",
          "title": "scope"
        },
        "username": {
          "type": "string",
          "title": "required or not depend on grant_type, user's name"
        },
        "password": {
          "type": "string",
          "title": "required or not depend on grant_type, user's password"
        },
        "refresh_token": {
          "type": "string",
          "title": "required or not depend on grant_type, refresh token to check whether token expired"
        }
      }
    },
    "openpitrixTokenResponse": {
      "type": "object",
      "properties": {
        "token_type": {
          "type": "string",
          "title": "token type.eg.[sender,bearer]"
        },
        "expires_in": {
          "type": "integer",
          "format": "int32",
          "title": "default 2h"
        },
        "access_token": {
          "type": "string",
          "title": "access token, generator by jwt(key=secrete key)"
        },
        "refresh_token": {
          "type": "string",
          "title": "refresh token, timeliness,default expired after 2 weeks"
        },
        "id_token": {
          "type": "string",
          "title": "id token, generator by jwt(key=\"\")"
        }
      }
    },
    "openpitrixUnbindUserRoleRequest": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of user to unbind"
        },
        "role_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of role for user to unbind with"
        }
      }
    },
    "openpitrixUnbindUserRoleResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of user to unbind"
        },
        "role_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of role for user to unbind with"
        }
      }
    },
    "openpitrixUser": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "user id, user belong to different group and role, has different permissions"
        },
        "username": {
          "type": "string",
          "title": "user name"
        },
        "email": {
          "type": "string",
          "title": "user email"
        },
        "phone_number": {
          "type": "string",
          "title": "user phone number"
        },
        "description": {
          "type": "string",
          "title": "user description"
        },
        "status": {
          "type": "string",
          "title": "user status eg.[active|deleted]"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when user create"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when user update"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record changed time of status"
        }
      }
    },
    "openpitrixUserDetail": {
      "type": "object",
      "properties": {
        "user": {
          "$ref": "#/definitions/openpitrixUser",
          "title": "user info"
        },
        "role_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRole"
          },
          "title": "list of user's role"
        },
        "group_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixGroup"
          },
          "title": "list of user's group"
        }
      }
    },
    "openpitrixValidateUserPasswordRequest": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "title": "required, user email"
        },
        "password": {
          "type": "string",
          "title": "required, user password"
        }
      }
    },
    "openpitrixValidateUserPasswordResponse": {
      "type": "object",
      "properties": {
        "validated": {
          "type": "boolean",
          "format": "boolean",
          "title": "validate password ok or not"
        }
      }
    },
    "openpitrixApp": {
      "type": "object",
      "properties": {
        "app_id": {
          "type": "string",
          "title": "app id"
        },
        "active": {
          "type": "boolean",
          "format": "boolean",
          "title": "whether there is a released version in the app"
        },
        "name": {
          "type": "string",
          "title": "app name"
        },
        "repo_id": {
          "type": "string",
          "title": "repository(store app package) id"
        },
        "description": {
          "type": "string",
          "title": "app description"
        },
        "status": {
          "type": "string",
          "title": "status eg.[modify|submit|review|cancel|release|delete|pass|reject|suspend|recover]"
        },
        "home": {
          "type": "string",
          "title": "app home page"
        },
        "icon": {
          "type": "string",
          "title": "app icon"
        },
        "screenshots": {
          "type": "string",
          "title": "app screenshots"
        },
        "maintainers": {
          "type": "string",
          "title": "app maintainers"
        },
        "keywords": {
          "type": "string",
          "title": "app key words"
        },
        "sources": {
          "type": "string",
          "title": "sources of app"
        },
        "readme": {
          "type": "string",
          "title": "app instructions"
        },
        "chart_name": {
          "type": "string",
          "title": "chart name of app"
        },
        "abstraction": {
          "type": "string",
          "title": "abstraction of app"
        },
        "tos": {
          "type": "string",
          "title": "tos of app"
        },
        "owner": {
          "type": "string",
          "title": "owner of app"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when app create"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when app update"
        },
        "category_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixResourceCategory"
          },
          "title": "list of category, the app may belong to one more category"
        },
        "latest_app_version": {
          "$ref": "#/definitions/openpitrixAppVersion",
          "title": "latest version of app"
        },
        "app_version_types": {
          "type": "string",
          "title": "app version types eg.[vmbased|helm]"
        },
        "company_name": {
          "type": "string",
          "title": "company name"
        },
        "company_website": {
          "type": "string",
          "title": "company website"
        },
        "company_profile": {
          "type": "string",
          "title": "company profile"
        },
        "company_join_time": {
          "type": "string",
          "format": "date-time",
          "title": "company join time"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path of the app, concat string group_path:user_id"
        },
        "isv": {
          "type": "string",
          "title": "the isv user who create the app"
        }
      }
    },
    "openpitrixAppVersion": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "version id of app"
        },
        "active": {
          "type": "boolean",
          "format": "boolean",
          "title": "active or not"
        },
        "app_id": {
          "type": "string",
          "title": "app id"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        },
        "name": {
          "type": "string",
          "title": "version name"
        },
        "description": {
          "type": "string",
          "title": "description of app of specific version"
        },
        "home": {
          "type": "string",
          "title": "home of app of specific version"
        },
        "icon": {
          "type": "string",
          "title": "icon of app of specific version"
        },
        "screenshots": {
          "type": "string",
          "title": "screenshots of app of specific version"
        },
        "maintainers": {
          "type": "string",
          "title": "maintainers of app of specific version"
        },
        "keywords": {
          "type": "string",
          "title": "keywords of app of specific version"
        },
        "sources": {
          "type": "string",
          "title": "sources of app of specific version"
        },
        "readme": {
          "type": "string",
          "title": "readme of app of specific version"
        },
        "package_name": {
          "type": "string",
          "title": "package name of app of specific version"
        },
        "status": {
          "type": "string",
          "title": "status of app of specific version eg.[draft|submitted|passed|rejected|active|in-review|deleted|suspended]"
        },
        "review_id": {
          "type": "string",
          "title": "review id of app of specific version"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when app version create"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when app version update"
        },
        "sequence": {
          "type": "integer",
          "format": "int64",
          "title": "sequence of app of specific version"
        },
        "message": {
          "type": "string",
          "title": "message path of app of specific version"
        },
        "type": {
          "type": "string",
          "title": "type of app of specific version"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path of app of specific version, concat string group_path:user_id"
        }
      }
    },
    "openpitrixAppVersionAudit": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "id of version to audit"
        },
        "app_id": {
          "type": "string",
          "title": "id of specific version app"
        },
        "status": {
          "type": "string",
          "title": "audit status, eg.[draft|submitted|passed|rejected|active|in-review|deleted|suspended]"
        },
        "version_name": {
          "type": "string",
          "title": "version name"
        },
        "app_name": {
          "type": "string",
          "title": "name of specific version app"
        },
        "operator": {
          "type": "string",
          "title": "user of auditer"
        },
        "operator_type": {
          "type": "string",
          "title": "operator of auditer eg.[global_admin|developer|business|technical|isv]"
        },
        "message": {
          "type": "string",
          "title": "audit message"
        },
        "review_id": {
          "type": "string",
          "title": "review id"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "version_type": {
          "type": "string",
          "title": "version type"
        }
      }
    },
    "openpitrixAppVersionReview": {
      "type": "object",
      "properties": {
        "review_id": {
          "type": "string",
          "title": "review id"
        },
        "version_id": {
          "type": "string",
          "title": "id of app version"
        },
        "app_id": {
          "type": "string",
          "title": "app id"
        },
        "version_name": {
          "type": "string",
          "title": "version name of specific app version"
        },
        "app_name": {
          "type": "string",
          "title": "app name"
        },
        "status": {
          "type": "string",
          "title": "review status eg.[isv-in-review|isv-passed|isv-rejected|isv-draft|business-in-review|business-passed|business-rejected|develop-draft|develop-in-review|develop-passed|develop-rejected|develop-draft]"
        },
        "phase": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/openpitrixAppVersionReviewPhase"
          },
          "title": "review phase, app need one more reviewer to review, when reviewer reviewed, status changed"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "reviewer": {
          "type": "string",
          "title": "user who review the app version"
        },
        "version_type": {
          "type": "string",
          "title": "version type"
        }
      }
    },
    "openpitrixAppVersionReviewPhase": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "title": "review status of app version eg.[isv-in-review|isv-passed|isv-rejected|isv-draft|business-in-review|business-passed|business-rejected|develop-draft|develop-in-review|develop-passed|develop-rejected|develop-draft]"
        },
        "operator": {
          "type": "string",
          "title": "user of reviewer"
        },
        "operator_type": {
          "type": "string",
          "title": "operator type of reviewer eg.[global_admin|developer|business|technical|isv]"
        },
        "message": {
          "type": "string",
          "title": "review message"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "review_time": {
          "type": "string",
          "format": "date-time",
          "title": "app version review time"
        }
      }
    },
    "openpitrixCancelAppVersionRequest": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version to cancel"
        }
      }
    },
    "openpitrixCancelAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version canceled"
        }
      }
    },
    "openpitrixCreateAppRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "required, app name"
        },
        "version_type": {
          "type": "string",
          "title": "optional, vmbased/helm"
        },
        "version_package": {
          "type": "string",
          "format": "byte",
          "title": "required, version with specific app package"
        },
        "version_name": {
          "type": "string",
          "title": "required, version name of the app"
        },
        "icon": {
          "type": "string",
          "format": "byte",
          "title": "app icon"
        },
        "isv": {
          "type": "string",
          "title": "isv"
        }
      }
    },
    "openpitrixCreateAppResponse": {
      "type": "object",
      "properties": {
        "app_id": {
          "type": "string",
          "title": "app id"
        },
        "version_id": {
          "type": "string",
          "title": "version id of the app"
        }
      }
    },
    "openpitrixCreateAppVersionRequest": {
      "type": "object",
      "properties": {
        "app_id": {
          "type": "string",
          "title": "required, id of app to create new version"
        },
        "name": {
          "type": "string",
          "title": "required, version name eg.[0.1.0|0.1.3|...]"
        },
        "description": {
          "type": "string",
          "title": "description of app of specific version"
        },
        "type": {
          "type": "string",
          "title": "optional: vmbased/helm"
        },
        "package": {
          "type": "string",
          "format": "byte",
          "title": "package of app of specific version"
        }
      }
    },
    "openpitrixCreateAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "version id"
        }
      }
    },
    "openpitrixDeleteAppVersionRequest": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version to delete"
        }
      }
    },
    "openpitrixDeleteAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version deleted"
        }
      }
    },
    "openpitrixDeleteAppsRequest": {
      "type": "object",
      "properties": {
        "app_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of app to delete"
        }
      }
    },
    "openpitrixDeleteAppsResponse": {
      "type": "object",
      "properties": {
        "app_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of app deleted"
        }
      }
    },
    "openpitrixDescribeAppVersionAuditsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of audits of app with specific version"
        },
        "app_version_audit_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixAppVersionAudit"
          },
          "title": "list of audit"
        }
      }
    },
    "openpitrixDescribeAppVersionReviewsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of reviews of app with specific version"
        },
        "app_version_review_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixAppVersionReview"
          },
          "title": "list of reviews of app with specific version"
        }
      }
    },
    "openpitrixDescribeAppVersionsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of qualified app version"
        },
        "app_version_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixAppVersion"
          },
          "title": "list of app vaesion"
        }
      }
    },
    "openpitrixDescribeAppsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of qualified app"
        },
        "app_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixApp"
          },
          "title": "list of app"
        }
      }
    },
    "openpitrixGetAppStatisticsResponse": {
      "type": "object",
      "properties": {
        "last_two_week_created": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          },
          "title": "range of app created time map to app count, max length is 14"
        },
        "top_ten_repos": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          },
          "title": "repo id map to app count, max length is 10"
        },
        "app_count": {
          "type": "integer",
          "format": "int64",
          "title": "total app count"
        },
        "repo_count": {
          "type": "integer",
          "format": "int64",
          "title": "total repository count"
        }
      }
    },
    "openpitrixGetAppVersionPackageFilesResponse": {
      "type": "object",
      "properties": {
        "files": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "format": "byte"
          },
          "title": "filename map to content"
        },
        "version_id": {
          "type": "string",
          "title": "version id"
        }
      }
    },
    "openpitrixGetAppVersionPackageResponse": {
      "type": "object",
      "properties": {
        "package": {
          "type": "string",
          "format": "byte",
          "title": "package of specific app version"
        },
        "app_id": {
          "type": "string",
          "title": "app id of package"
        },
        "version_id": {
          "type": "string",
          "title": "version id of package"
        }
      }
    },
    "openpitrixModifyAppRequest": {
      "type": "object",
      "properties": {
        "app_id": {
          "type": "string",
          "title": "required, id of app to modify"
        },
        "name": {
          "type": "string",
          "title": "name of the app"
        },
        "description": {
          "type": "string",
          "title": "description of the app"
        },
        "home": {
          "type": "string",
          "title": "home page of the app"
        },
        "maintainers": {
          "type": "string",
          "title": "maintainers who maintainer the app"
        },
        "sources": {
          "type": "string",
          "title": "sources of app"
        },
        "readme": {
          "type": "string",
          "title": "instructions of the app"
        },
        "abstraction": {
          "type": "string",
          "title": "abstraction of app"
        },
        "tos": {
          "type": "string",
          "title": "tos of app"
        },
        "category_id": {
          "type": "string",
          "title": "category id of the app"
        },
        "keywords": {
          "type": "string",
          "title": "key words of the app"
        }
      }
    },
    "openpitrixModifyAppResponse": {
      "type": "object",
      "properties": {
        "app_id": {
          "type": "string",
          "title": "id of app modified"
        }
      }
    },
    "openpitrixModifyAppVersionRequest": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, version id of app to modify"
        },
        "name": {
          "type": "string",
          "title": "app name"
        },
        "description": {
          "type": "string",
          "title": "app description"
        },
        "package": {
          "type": "string",
          "format": "byte",
          "title": "package of app to replace other"
        },
        "package_files": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "format": "byte"
          },
          "title": "filename map to file_content"
        }
      }
    },
    "openpitrixModifyAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, version id"
        }
      }
    },
    "openpitrixPassAppVersionRequest": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version to pass"
        }
      }
    },
    "openpitrixPassAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "id of version passed"
        }
      }
    },
    "openpitrixRecoverAppVersionRequest": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version to recover"
        }
      }
    },
    "openpitrixRecoverAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "id of version recovered"
        }
      }
    },
    "openpitrixRejectAppVersionRequest": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version to reject"
        },
        "message": {
          "type": "string",
          "title": "reject message"
        }
      }
    },
    "openpitrixRejectAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "id of version rejected"
        }
      }
    },
    "openpitrixReleaseAppVersionRequest": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version to release"
        }
      }
    },
    "openpitrixReleaseAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version released"
        }
      }
    },
    "openpitrixResourceCategory": {
      "type": "object",
      "properties": {
        "category_id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "locale": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "create_time": {
          "type": "string",
          "format": "date-time"
        },
        "status_time": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "openpitrixReviewAppVersionRequest": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version to review"
        }
      }
    },
    "openpitrixReviewAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "id of version reviewed"
        }
      }
    },
    "openpitrixSubmitAppVersionRequest": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version to submit"
        }
      }
    },
    "openpitrixSubmitAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version submitted"
        }
      }
    },
    "openpitrixSuspendAppVersionRequest": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "required, id of version to suspend"
        }
      }
    },
    "openpitrixSuspendAppVersionResponse": {
      "type": "object",
      "properties": {
        "version_id": {
          "type": "string",
          "title": "id of version suspended"
        }
      }
    },
    "openpitrixSyncRepoResponse": {
      "type": "object",
      "properties": {
        "failed": {
          "type": "boolean",
          "format": "boolean",
          "title": "synchronized ok or not"
        },
        "result": {
          "type": "string",
          "title": "result"
        }
      }
    },
    "openpitrixUploadAppAttachmentRequest": {
      "type": "object",
      "properties": {
        "app_id": {
          "type": "string",
          "title": "required, id of app to upload attachment"
        },
        "type": {
          "$ref": "#/definitions/openpitrixUploadAppAttachmentRequestType",
          "title": "optional: icon/screenshot"
        },
        "attachment_content": {
          "type": "string",
          "format": "byte",
          "title": "required, content of attachment"
        },
        "sequence": {
          "type": "integer",
          "format": "int64",
          "title": "only for screenshot, range: [0, 5]"
        }
      }
    },
    "openpitrixUploadAppAttachmentRequestType": {
      "type": "string",
      "enum": [
        "icon",
        "screenshot"
      ],
      "default": "icon"
    },
    "openpitrixUploadAppAttachmentResponse": {
      "type": "object",
      "properties": {
        "app_id": {
          "type": "string",
          "title": "id of app to upload attachment"
        }
      }
    },
    "openpitrixValidatePackageRequest": {
      "type": "object",
      "properties": {
        "version_type": {
          "type": "string",
          "title": "optional, vmbased/helm"
        },
        "version_package": {
          "type": "string",
          "format": "byte",
          "title": "required, version package eg.[the wordpress-0.0.1.tgz will be encoded to bytes]"
        }
      }
    },
    "openpitrixValidatePackageResponse": {
      "type": "object",
      "properties": {
        "error_details": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "title": "filename map to detail"
        },
        "error": {
          "type": "string",
          "title": "error eg.[json error]"
        },
        "name": {
          "type": "string",
          "title": "app name eg.[wordpress|mysql|...]"
        },
        "version_name": {
          "type": "string",
          "title": "app version name.eg.[0.1.0]"
        },
        "url": {
          "type": "string",
          "title": "app url"
        },
        "description": {
          "type": "string",
          "title": "app description"
        }
      }
    },
    "openpitrixAppendAttachmentResponse": {
      "type": "object",
      "properties": {
        "attachment_id": {
          "type": "string",
          "title": "attachment id"
        },
        "filename": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "filename, attachment contain one more file"
        }
      }
    },
    "openpitrixAttachment": {
      "type": "object",
      "properties": {
        "attachment_id": {
          "type": "string",
          "title": "attachment id"
        },
        "attachment_content": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "format": "byte"
          },
          "title": "filename map to content"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time attachment create"
        }
      }
    },
    "openpitrixCreateAttachmentResponse": {
      "type": "object",
      "properties": {
        "attachment_id": {
          "type": "string",
          "title": "attachment id"
        },
        "filename": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "file name"
        }
      }
    },
    "openpitrixDeleteAttachmentsResponse": {
      "type": "object",
      "properties": {
        "attachment_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of attachment deleted"
        },
        "filename": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "filename, attachment contain one more file"
        }
      }
    },
    "openpitrixGetAttachmentResponse": {
      "type": "object",
      "properties": {
        "content": {
          "type": "string",
          "format": "byte",
          "title": "file content of attachment"
        },
        "etag": {
          "type": "string",
          "title": "tell server to pack file"
        }
      }
    },
    "openpitrixGetAttachmentsResponse": {
      "type": "object",
      "properties": {
        "attachments": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/openpitrixAttachment"
          },
          "title": "attachment_id map to Attachment"
        }
      }
    },
    "openpitrixReplaceAttachmentResponse": {
      "type": "object",
      "properties": {
        "attachment_id": {
          "type": "string",
          "title": "id of attachment replaced"
        },
        "filename": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "filename, attachment contain one more file"
        }
      }
    },
    "openpitrixCategory": {
      "type": "object",
      "properties": {
        "category_id": {
          "type": "string",
          "title": "category id"
        },
        "name": {
          "type": "string",
          "title": "category name,app belong to a category,eg.[AI|Firewall|cache|...]"
        },
        "locale": {
          "type": "string",
          "title": "the i18n of this category, json format, sample: {\"zh_cn\": \"数据库\", \"en\": \"database\"}"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path, concat string group_path:user_id"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when category create"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when category update"
        },
        "description": {
          "type": "string",
          "title": "category description"
        },
        "icon": {
          "type": "string",
          "title": "category icon"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixCreateCategoryRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "required, category name"
        },
        "locale": {
          "type": "string",
          "title": "the i18n of this category, json format, sample: {\"zh_cn\": \"数据库\", \"en\": \"database\"}"
        },
        "description": {
          "type": "string",
          "title": "category description"
        },
        "icon": {
          "type": "string",
          "format": "byte",
          "title": "category icon"
        }
      }
    },
    "openpitrixCreateCategoryResponse": {
      "type": "object",
      "properties": {
        "category_id": {
          "type": "string",
          "title": "id of category created"
        }
      }
    },
    "openpitrixDeleteCategoriesRequest": {
      "type": "object",
      "properties": {
        "category_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of category to delete"
        },
        "force": {
          "type": "boolean",
          "format": "boolean",
          "title": "if true force delete category"
        }
      }
    },
    "openpitrixDeleteCategoriesResponse": {
      "type": "object",
      "properties": {
        "category_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of category to deleted"
        }
      }
    },
    "openpitrixDescribeCategoriesResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of qualified category"
        },
        "category_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixCategory"
          },
          "title": "list of category"
        }
      }
    },
    "openpitrixModifyCategoryRequest": {
      "type": "object",
      "properties": {
        "category_id": {
          "type": "string",
          "title": "required, id of category to modify"
        },
        "name": {
          "type": "string",
          "title": "category name"
        },
        "locale": {
          "type": "string",
          "title": "the i18n of this category, json format, sample: {\"zh_cn\": \"数据库\", \"en\": \"database\"}"
        },
        "description": {
          "type": "string",
          "title": "category description"
        },
        "icon": {
          "type": "string",
          "format": "byte",
          "title": "category icon"
        }
      }
    },
    "openpitrixModifyCategoryResponse": {
      "type": "object",
      "properties": {
        "category_id": {
          "type": "string",
          "title": "id of category modified"
        }
      }
    },
    "openpitrixAddClusterNodesRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "required, id of cluster to add node"
        },
        "role": {
          "type": "string",
          "title": "required, role eg:[mysql|wordpress|...]"
        },
        "node_count": {
          "type": "integer",
          "format": "int64",
          "title": "number of node added to cluster"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        }
      }
    },
    "openpitrixAddClusterNodesResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "id of cluster added node"
        },
        "job_id": {
          "type": "string",
          "title": "id of job of add node to cluster"
        }
      }
    },
    "openpitrixAddNodeKeyPairsResponse": {
      "type": "object"
    },
    "openpitrixAttachKeyPairsRequest": {
      "type": "object",
      "properties": {
        "key_pair_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of key pairs to attach"
        },
        "node_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of node to attached"
        }
      }
    },
    "openpitrixAttachKeyPairsResponse": {
      "type": "object",
      "properties": {
        "job_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of jobs of attach key pair"
        }
      }
    },
    "openpitrixCeaseClustersRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of cluster to cease"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        },
        "force": {
          "type": "boolean",
          "format": "boolean",
          "title": "whether force delete clusters or not"
        },
        "grace_period": {
          "type": "integer",
          "format": "int64",
          "title": "timeout(s), when delete clusters"
        }
      }
    },
    "openpitrixCeaseClustersResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of cluster ceased"
        },
        "job_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of job of cease cluster"
        }
      }
    },
    "openpitrixCluster": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "cluster id"
        },
        "name": {
          "type": "string",
          "title": "cluster name"
        },
        "description": {
          "type": "string",
          "title": "cluster description"
        },
        "app_id": {
          "type": "string",
          "title": "id of app run in cluster"
        },
        "version_id": {
          "type": "string",
          "title": "id of version of app run in cluster"
        },
        "subnet_id": {
          "type": "string",
          "title": "subnet id, cluster run in a subnet"
        },
        "vpc_id": {
          "type": "string",
          "title": "vpc id, a vpc contain one more subnet"
        },
        "frontgate_id": {
          "type": "string",
          "title": "frontgate id, a proxy for vpc to communicate"
        },
        "cluster_type": {
          "type": "integer",
          "format": "int64",
          "title": "cluster type, frontgate or normal cluster"
        },
        "endpoints": {
          "type": "string",
          "title": "endpoint of cluster"
        },
        "status": {
          "type": "string",
          "title": "cluster status eg.[active|used|enabled|disabled|deleted|stopped|ceased]"
        },
        "transition_status": {
          "type": "string",
          "title": "cluster transition status eg.[creating|deleting|upgrading|updating|rollbacking|stopping|starting|recovering|ceasing|resizing|scaling]"
        },
        "metadata_root_access": {
          "type": "boolean",
          "format": "boolean",
          "title": "metadata root access"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path, concat string group_path:user_id"
        },
        "global_uuid": {
          "type": "string",
          "title": "global uuid"
        },
        "upgrade_status": {
          "type": "string",
          "title": "upgrade status, unused"
        },
        "upgrade_time": {
          "type": "string",
          "format": "date-time",
          "title": "cluster upgraded time"
        },
        "runtime_id": {
          "type": "string",
          "title": "cluster runtime id"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when cluster create"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "additional_info": {
          "type": "string"
        },
        "env": {
          "type": "string",
          "title": "cluster env"
        },
        "debug": {
          "type": "boolean",
          "format": "boolean",
          "title": "cluster used to debug or not"
        },
        "zone": {
          "type": "string",
          "title": "zone of cluster eg.[pek3a|pek3b]"
        },
        "cluster_node_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixClusterNode"
          },
          "title": "list of cluster node"
        },
        "cluster_role_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixClusterRole"
          },
          "title": "list of cluster role"
        },
        "cluster_link_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixClusterLink"
          },
          "title": "list of cluster link"
        },
        "cluster_common_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixClusterCommon"
          },
          "title": "list of cluster common"
        },
        "cluster_loadbalancer_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixClusterLoadbalancer"
          },
          "title": "lister of cluster loadbalancer"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixClusterCommon": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "cluster id"
        },
        "role": {
          "type": "string",
          "title": "cluster role"
        },
        "server_id_upper_bound": {
          "type": "integer",
          "format": "int64",
          "title": "bound of server id(index number), some service(zookeeper) need the index to be bounded"
        },
        "advanced_actions": {
          "type": "string",
          "title": "action of cluster support.eg.[change_vxnet|scale_horizontal]"
        },
        "init_service": {
          "type": "string",
          "title": "init service config, a json string"
        },
        "start_service": {
          "type": "string",
          "title": "start service config, a json string"
        },
        "stop_service": {
          "type": "string",
          "title": "stop service config, a json string"
        },
        "scale_out_service": {
          "type": "string",
          "title": "scale out service config, a json string"
        },
        "scale_in_service": {
          "type": "string",
          "title": "scale in service config, a json string"
        },
        "restart_service": {
          "type": "string",
          "title": "restart service config, a json string"
        },
        "destroy_service": {
          "type": "string",
          "title": "destroy service config, a json string"
        },
        "upgrade_service": {
          "type": "string",
          "title": "upgrade service config, a json string"
        },
        "custom_service": {
          "type": "string",
          "title": "custom service config, a json string"
        },
        "backup_service": {
          "type": "string",
          "title": "backup service config, a json string"
        },
        "restore_service": {
          "type": "string",
          "title": "restore service config, a json string"
        },
        "delete_snapshot_service": {
          "type": "string",
          "title": "delete snapshot service config, a json string"
        },
        "health_check": {
          "type": "string",
          "title": "health check config,a json string"
        },
        "monitor": {
          "type": "string",
          "title": "monitor config,a json string"
        },
        "passphraseless": {
          "type": "string"
        },
        "vertical_scaling_policy": {
          "type": "string",
          "title": "vertical scaling policy.eg.[parallel|sequential]"
        },
        "agent_installed": {
          "type": "boolean",
          "format": "boolean",
          "title": "agent install or not"
        },
        "custom_metadata_script": {
          "type": "string",
          "title": "custom metadata script, a json string"
        },
        "image_id": {
          "type": "string",
          "title": "image id"
        },
        "backup_policy": {
          "type": "string",
          "title": "policy of backup"
        },
        "incremental_backup_supported": {
          "type": "boolean",
          "format": "boolean",
          "title": "support incremental backup or not"
        },
        "hypervisor": {
          "type": "string",
          "title": "hypervisor.eg.[docker|kvm|...]"
        }
      }
    },
    "openpitrixClusterLink": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "cluster id"
        },
        "name": {
          "type": "string",
          "title": "cluster link name eg.[mysql|wordpress|...]"
        },
        "external_cluster_id": {
          "type": "string",
          "title": "external cluster id"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path, concat string group_path:user_id"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixClusterLoadbalancer": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "cluster id"
        },
        "role": {
          "type": "string",
          "title": "role of balancer"
        },
        "loadbalancer_listener_id": {
          "type": "string",
          "title": "listener id"
        },
        "loadbalancer_port": {
          "type": "integer",
          "format": "int64",
          "title": "port"
        },
        "loadbalancer_policy_id": {
          "type": "string",
          "title": "policy id"
        }
      }
    },
    "openpitrixClusterNode": {
      "type": "object",
      "properties": {
        "node_id": {
          "type": "string",
          "title": "cluster node(cluster contain one more node) id"
        },
        "cluster_id": {
          "type": "string",
          "title": "cluster id"
        },
        "name": {
          "type": "string",
          "title": "name, default empty"
        },
        "instance_id": {
          "type": "string",
          "title": "instance id"
        },
        "volume_id": {
          "type": "string",
          "title": "volume id, if mount volume"
        },
        "device": {
          "type": "string",
          "title": "device"
        },
        "subnet_id": {
          "type": "string",
          "title": "subnet id"
        },
        "private_ip": {
          "type": "string",
          "title": "private ip"
        },
        "eip": {
          "type": "string",
          "title": "elastic ip, if attach ip"
        },
        "server_id": {
          "type": "integer",
          "format": "int64",
          "title": "server id"
        },
        "role": {
          "type": "string",
          "title": "role eg.[wordpress|mysql|...]"
        },
        "status": {
          "type": "string",
          "title": "status eg.[active|used|enabled|disabled|deleted|stopped|ceased|successful|failed]"
        },
        "transition_status": {
          "type": "string",
          "title": "transition status eg.[creating|deleting|upgrading|updating|rollbacking|stopping|starting|recovering|ceasing|resizing|scaling]"
        },
        "group_id": {
          "type": "integer",
          "format": "int64",
          "title": "group id"
        },
        "owner_path": {
          "type": "string",
          "title": "own path, concat string group_path:user_id"
        },
        "global_server_id": {
          "type": "integer",
          "format": "int64",
          "title": "global server id"
        },
        "custom_metadata": {
          "type": "string",
          "title": "custom metadata"
        },
        "pub_key": {
          "type": "string",
          "title": "public key"
        },
        "health_status": {
          "type": "string",
          "title": "health status default empty eg.[healthy|unhealthy|\"\"]"
        },
        "is_backup": {
          "type": "boolean",
          "format": "boolean",
          "title": "backup or not"
        },
        "auto_backup": {
          "type": "boolean",
          "format": "boolean",
          "title": "auto backup or not"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when cluster node create"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record cluster node status changed time"
        },
        "host_id": {
          "type": "string",
          "title": "host id"
        },
        "host_ip": {
          "type": "string",
          "title": "host ip"
        },
        "cluster_role": {
          "$ref": "#/definitions/openpitrixClusterRole",
          "title": "cluster role"
        },
        "cluster_common": {
          "$ref": "#/definitions/openpitrixClusterCommon",
          "title": "cluster common info"
        },
        "key_pair_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "list of ssh key pair id"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixClusterRole": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "cluster id"
        },
        "role": {
          "type": "string",
          "title": "role.eg.[wordpress|mysql|...]"
        },
        "cpu": {
          "type": "integer",
          "format": "int64",
          "title": "number of cpu"
        },
        "gpu": {
          "type": "integer",
          "format": "int64",
          "title": "number of gpu"
        },
        "memory": {
          "type": "integer",
          "format": "int64",
          "title": "size of memory"
        },
        "instance_size": {
          "type": "integer",
          "format": "int64",
          "title": "size of instance"
        },
        "storage_size": {
          "type": "integer",
          "format": "int64",
          "title": "size of storage"
        },
        "mount_point": {
          "type": "string",
          "title": "mount point, a dir.eg.[/data]"
        },
        "mount_options": {
          "type": "string",
          "title": "mount_options"
        },
        "file_system": {
          "type": "string",
          "title": "file system eg.[ext|ext4|...]"
        },
        "env": {
          "type": "string",
          "title": "env of cluster"
        },
        "replicas": {
          "type": "integer",
          "format": "int64",
          "title": "number of replica"
        },
        "ready_replicas": {
          "type": "integer",
          "format": "int64",
          "title": "number of replica on ready"
        },
        "api_version": {
          "type": "string",
          "title": "api version"
        }
      }
    },
    "openpitrixCreateClusterRequest": {
      "type": "object",
      "properties": {
        "app_id": {
          "type": "string",
          "title": "required, id of app to run in cluster"
        },
        "version_id": {
          "type": "string",
          "title": "required, id of app version"
        },
        "runtime_id": {
          "type": "string",
          "title": "required, id of runtime"
        },
        "conf": {
          "type": "string",
          "title": "required, conf a json string, include cpu, memory info of cluster"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        }
      }
    },
    "openpitrixCreateClusterResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "id of cluster created"
        },
        "job_id": {
          "type": "string",
          "title": "id of job"
        }
      }
    },
    "openpitrixCreateKeyPairRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "keypair name"
        },
        "description": {
          "type": "string",
          "title": "keypair description"
        },
        "pub_key": {
          "type": "string",
          "title": "public key"
        }
      }
    },
    "openpitrixCreateKeyPairResponse": {
      "type": "object",
      "properties": {
        "key_pair_id": {
          "type": "string",
          "title": "id of key pair created"
        }
      }
    },
    "openpitrixDeleteClusterNodesRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "required, id of cluster to delete node"
        },
        "node_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, node ids"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        }
      }
    },
    "openpitrixDeleteClusterNodesResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "id of cluster deleted node"
        },
        "job_id": {
          "type": "string",
          "title": "job id"
        }
      }
    },
    "openpitrixDeleteClustersRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of clusters to delete"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        },
        "force": {
          "type": "boolean",
          "format": "boolean",
          "title": "whether force delete clusters or not"
        },
        "grace_period": {
          "type": "integer",
          "format": "int64",
          "title": "timeout(s), when delete clusters"
        }
      }
    },
    "openpitrixDeleteClustersResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of clusters deleted"
        },
        "job_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of jobs"
        }
      }
    },
    "openpitrixDeleteKeyPairsRequest": {
      "type": "object",
      "properties": {
        "key_pair_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of key pairs to delete"
        }
      }
    },
    "openpitrixDeleteKeyPairsResponse": {
      "type": "object",
      "properties": {
        "key_pair_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of key pairs deleted"
        }
      }
    },
    "openpitrixDeleteNodeKeyPairsResponse": {
      "type": "object"
    },
    "openpitrixDescribeAppClustersResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of cluster of app"
        },
        "cluster_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixCluster"
          },
          "title": "list of cluster"
        }
      }
    },
    "openpitrixDescribeClusterNodesResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of node in the cluster"
        },
        "cluster_node_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixClusterNode"
          },
          "title": "list of cluster node"
        }
      }
    },
    "openpitrixDescribeClustersResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of qualified cluster"
        },
        "cluster_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixCluster"
          },
          "title": "list of cluster"
        }
      }
    },
    "openpitrixDescribeKeyPairsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of qualified key pair"
        },
        "key_pair_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixKeyPair"
          },
          "title": "list of key pair"
        }
      }
    },
    "openpitrixDescribeSubnetsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of subnet"
        },
        "subnet_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixSubnet"
          },
          "title": "list of subnet"
        }
      }
    },
    "openpitrixDetachKeyPairsRequest": {
      "type": "object",
      "properties": {
        "key_pair_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of key pairs to detach"
        },
        "node_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of nodes to detached"
        }
      }
    },
    "openpitrixDetachKeyPairsResponse": {
      "type": "object",
      "properties": {
        "job_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of jobs of detach key pair"
        }
      }
    },
    "openpitrixGetClusterStatisticsResponse": {
      "type": "object",
      "properties": {
        "last_two_week_created": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          },
          "title": "cluster create time range map to cluster count, max length is 14"
        },
        "top_ten_runtimes": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          },
          "title": "runtime id map to cluster count, max length is 10"
        },
        "cluster_count": {
          "type": "integer",
          "format": "int64",
          "title": "number of cluster"
        },
        "runtime_count": {
          "type": "integer",
          "format": "int64",
          "title": "number of runtime"
        },
        "top_ten_apps": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          },
          "title": "app id map to cluster count, max length is 10"
        }
      }
    },
    "openpitrixKeyPair": {
      "type": "object",
      "properties": {
        "key_pair_id": {
          "type": "string",
          "title": "ssh key pair id"
        },
        "name": {
          "type": "string",
          "title": "key pair name"
        },
        "description": {
          "type": "string",
          "title": "key pair description"
        },
        "pub_key": {
          "type": "string",
          "title": "public key"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path, concat string group_path:user_id"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when key pair create"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "node_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "list of node used the keypair"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixModifyClusterAttributesRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "required, id of cluster to modify"
        },
        "name": {
          "type": "string",
          "title": "cluster name"
        },
        "description": {
          "type": "string",
          "title": "cluster description"
        }
      }
    },
    "openpitrixModifyClusterAttributesResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "id of cluster modified"
        }
      }
    },
    "openpitrixModifyClusterNodeAttributesRequest": {
      "type": "object",
      "properties": {
        "node_id": {
          "type": "string",
          "title": "required, id of cluster node to modify"
        },
        "name": {
          "type": "string",
          "title": "node name"
        }
      }
    },
    "openpitrixModifyClusterNodeAttributesResponse": {
      "type": "object",
      "properties": {
        "node_id": {
          "type": "string",
          "title": "id of cluster node modified"
        }
      }
    },
    "openpitrixModifyClusterNodeResponse": {
      "type": "object",
      "properties": {
        "node_id": {
          "type": "string",
          "title": "id of cluster node modified"
        }
      }
    },
    "openpitrixModifyClusterResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "id of cluster modified"
        }
      }
    },
    "openpitrixNodeKeyPair": {
      "type": "object",
      "properties": {
        "node_id": {
          "type": "string",
          "title": "id of node with key pair"
        },
        "key_pair_id": {
          "type": "string",
          "title": "id of key pair in node"
        }
      }
    },
    "openpitrixRecoverClustersRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of clusters to recover"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        }
      }
    },
    "openpitrixRecoverClustersResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of cluster recovered"
        },
        "job_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of job of recover cluster"
        }
      }
    },
    "openpitrixResizeClusterRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "required, id of cluster to resize"
        },
        "role_resource": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRoleResource"
          },
          "title": "list of role resource"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        }
      }
    },
    "openpitrixResizeClusterResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "id of cluster resized"
        },
        "job_id": {
          "type": "string",
          "title": "job id"
        }
      }
    },
    "openpitrixRoleResource": {
      "type": "object",
      "properties": {
        "role": {
          "type": "string",
          "title": "role.eg:[mysql|wordpress]"
        },
        "cpu": {
          "type": "integer",
          "format": "int64",
          "title": "number of cpu"
        },
        "gpu": {
          "type": "integer",
          "format": "int64",
          "title": "number of gpu"
        },
        "memory": {
          "type": "integer",
          "format": "int64",
          "title": "size of memory"
        },
        "instance_size": {
          "type": "integer",
          "format": "int64",
          "title": "size of instance"
        },
        "storage_size": {
          "type": "integer",
          "format": "int64",
          "title": "size of storage"
        }
      }
    },
    "openpitrixRollbackClusterRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "required, id of cluster to rollback"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        }
      }
    },
    "openpitrixRollbackClusterResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "id of cluster to rollbacked"
        },
        "job_id": {
          "type": "string",
          "title": "job id"
        }
      }
    },
    "openpitrixStartClustersRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of cluster to start"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        }
      }
    },
    "openpitrixStartClustersResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of clusters started"
        },
        "job_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "job ids"
        }
      }
    },
    "openpitrixStopClustersRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of cluster to stop"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        }
      }
    },
    "openpitrixStopClustersResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of clusters stopped"
        },
        "job_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "job ids"
        }
      }
    },
    "openpitrixSubnet": {
      "type": "object",
      "properties": {
        "subnet_id": {
          "type": "string",
          "title": "subnet id"
        },
        "name": {
          "type": "string",
          "title": "subnet name"
        },
        "zone": {
          "type": "string",
          "title": "subnet zone"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when subnet create"
        },
        "description": {
          "type": "string",
          "title": "subnet description"
        },
        "instance_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "instance ids, subnet belong to one more instance"
        },
        "vpc_id": {
          "type": "string",
          "title": "vpc id, a vpc contain one more subnet"
        },
        "subnet_type": {
          "type": "integer",
          "format": "int64",
          "title": "subnet type"
        }
      }
    },
    "openpitrixUpdateClusterEnvRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "id of cluster to update env"
        },
        "env": {
          "type": "string",
          "title": "env"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        }
      }
    },
    "openpitrixUpdateClusterEnvResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "id of cluster to updated env"
        },
        "job_id": {
          "type": "string",
          "title": "job id"
        }
      }
    },
    "openpitrixUpgradeClusterRequest": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "required, id of cluster to upgrade"
        },
        "version_id": {
          "type": "string",
          "title": "app version id"
        },
        "advanced_param": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "advanced param"
        }
      }
    },
    "openpitrixUpgradeClusterResponse": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "title": "id of cluster upgraded"
        },
        "job_id": {
          "type": "string",
          "title": "job id"
        }
      }
    },
    "protobufEmpty": {
      "type": "object",
      "description": "service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for ` + "`" + `Empty` + "`" + ` is empty JSON object ` + "`" + `{}` + "`" + `.",
      "title": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:"
    },
    "openpitrixDescribeVendorStatisticsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of vendor statistic"
        },
        "vendor_verify_statistics_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixVendorStatistics"
          },
          "title": "list of vendor statistic"
        }
      }
    },
    "openpitrixDescribeVendorVerifyInfosResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of vendor"
        },
        "vendor_verify_info_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixVendorVerifyInfo"
          },
          "title": "list of vendor verify info"
        }
      }
    },
    "openpitrixGetVendorVerifyInfoResponse": {
      "type": "object",
      "properties": {
        "vendor_verify_info": {
          "$ref": "#/definitions/openpitrixVendorVerifyInfo",
          "title": "vendor verify info"
        }
      }
    },
    "openpitrixPassVendorVerifyInfoRequest": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "required, id of user to pass"
        }
      }
    },
    "openpitrixPassVendorVerifyInfoResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "id of user passed"
        }
      }
    },
    "openpitrixRejectVendorVerifyInfoRequest": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "required, id of user to reject"
        },
        "reject_message": {
          "type": "string",
          "title": "reject message"
        }
      }
    },
    "openpitrixRejectVendorVerifyInfoResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "id of user rejected"
        }
      }
    },
    "openpitrixSubmitVendorVerifyInfoRequest": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "required, id of user to submit"
        },
        "company_name": {
          "type": "string",
          "title": "required, company name"
        },
        "company_website": {
          "type": "string",
          "title": "company website"
        },
        "company_profile": {
          "type": "string",
          "title": "company profile"
        },
        "authorizer_name": {
          "type": "string",
          "title": "required, authorizer name"
        },
        "authorizer_email": {
          "type": "string",
          "title": "required, authorizer email eg. xxx@yunify.com"
        },
        "authorizer_phone": {
          "type": "string",
          "title": "authorizer phone, string of 11 digit"
        },
        "bank_name": {
          "type": "string",
          "title": "bank name"
        },
        "bank_account_name": {
          "type": "string",
          "title": "bank account name"
        },
        "bank_account_number": {
          "type": "string",
          "title": "bank account number"
        }
      }
    },
    "openpitrixSubmitVendorVerifyInfoResponse": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "id of user submitted"
        }
      }
    },
    "openpitrixVendorStatistics": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "use user id to statistic"
        },
        "company_name": {
          "type": "string",
          "title": "company name"
        },
        "active_app_count": {
          "type": "integer",
          "format": "int64",
          "title": "number of user's active app"
        },
        "cluster_count_month": {
          "type": "integer",
          "format": "int64",
          "title": "total count of cluster last month"
        },
        "cluster_count_total": {
          "type": "integer",
          "format": "int64",
          "title": "total count of cluster"
        }
      }
    },
    "openpitrixVendorVerifyInfo": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string",
          "title": "user id"
        },
        "company_name": {
          "type": "string",
          "title": "company name"
        },
        "company_website": {
          "type": "string",
          "title": "company website"
        },
        "company_profile": {
          "type": "string",
          "title": "company profile"
        },
        "authorizer_name": {
          "type": "string",
          "title": "authorizer name"
        },
        "authorizer_email": {
          "type": "string",
          "title": "authorizer email eg.***@yunify.com"
        },
        "authorizer_phone": {
          "type": "string",
          "title": "authorizer phone, string of 11 digit"
        },
        "bank_name": {
          "type": "string",
          "title": "bank name"
        },
        "bank_account_name": {
          "type": "string",
          "title": "name of bank account"
        },
        "bank_account_number": {
          "type": "string",
          "title": "number of bank account"
        },
        "status": {
          "type": "string",
          "title": "status eg.[draft|submitted|passed|rejected|suspended|in-review|new]"
        },
        "reject_message": {
          "type": "string",
          "title": "reject message"
        },
        "approver": {
          "type": "string",
          "title": "approver who approve the vendor verify"
        },
        "owner": {
          "type": "string",
          "title": "owner who own the vendor verify"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path, concat string group_path:user_id"
        },
        "submit_time": {
          "type": "string",
          "format": "date-time",
          "title": "submit time of vendor verify"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        }
      }
    },
    "openpitrixCreateJobResponse": {
      "type": "object",
      "properties": {
        "job_id": {
          "type": "string",
          "title": "id of job created"
        },
        "cluster_id": {
          "type": "string",
          "title": "id of cluster run job"
        },
        "app_id": {
          "type": "string",
          "title": "id of app deploy in cluster"
        },
        "version_id": {
          "type": "string",
          "title": "id of specific app version"
        },
        "runtime_id": {
          "type": "string",
          "title": "id of runtime of cluster"
        }
      }
    },
    "openpitrixDescribeJobsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of job"
        },
        "job_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixJob"
          },
          "title": "list of job"
        }
      }
    },
    "openpitrixJob": {
      "type": "object",
      "properties": {
        "job_id": {
          "type": "string",
          "title": "job id"
        },
        "cluster_id": {
          "type": "string",
          "title": "id of cluster run job"
        },
        "app_id": {
          "type": "string",
          "title": "id of app deployed in cluster"
        },
        "version_id": {
          "type": "string",
          "title": "id of specific app version"
        },
        "job_action": {
          "type": "string",
          "title": "describe job's action eg:[CreateCluster|StartClusters|...]"
        },
        "status": {
          "type": "string",
          "title": "status eg.[successful|failed|running|pending]"
        },
        "error_code": {
          "type": "integer",
          "format": "int64",
          "title": "error code, if job run failed will return a error code"
        },
        "directive": {
          "type": "string",
          "title": "directive, a json string, describe the info of running the job action"
        },
        "executor": {
          "type": "string",
          "title": "host name of server"
        },
        "task_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of task in job, a job contain one more task"
        },
        "owner_path": {
          "type": "string",
          "title": "own path, concat string group_path:user_id"
        },
        "provider": {
          "type": "string",
          "title": "runtime provider eg:[qingcloud|aliyun|aws|kubernetes]"
        },
        "runtime_id": {
          "type": "string",
          "title": "id of runtime of cluster"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time job create"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record the status changed time"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixCreateMarketRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "visibility": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "openpitrixCreateMarketResponse": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "string"
        }
      }
    },
    "openpitrixDeleteMarketsRequest": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "openpitrixDeleteMarketsResponse": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "openpitrixDescribeMarketUsersResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64"
        },
        "market_user_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixMarketUser"
          }
        }
      }
    },
    "openpitrixDescribeMarketsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64"
        },
        "market_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixMarket"
          }
        }
      }
    },
    "openpitrixMarket": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "visibility": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "owner_path": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "create_time": {
          "type": "string",
          "format": "date-time"
        },
        "status_time": {
          "type": "string",
          "format": "date-time"
        },
        "owner": {
          "type": "string"
        }
      }
    },
    "openpitrixMarketUser": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "string"
        },
        "user_id": {
          "type": "string"
        },
        "owner_path": {
          "type": "string"
        },
        "create_time": {
          "type": "string",
          "format": "date-time"
        },
        "owner": {
          "type": "string"
        }
      }
    },
    "openpitrixModifyMarketRequest": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "visibility": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "openpitrixModifyMarketResponse": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "string"
        }
      }
    },
    "openpitrixUserJoinMarketRequest": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "openpitrixUserJoinMarketResponse": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "openpitrixUserLeaveMarketRequest": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "openpitrixUserLeaveMarketResponse": {
      "type": "object",
      "properties": {
        "market_id": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "user_id": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "openpitrixCreateRepoRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "required, repository name"
        },
        "description": {
          "type": "string",
          "title": "repository description"
        },
        "type": {
          "type": "string",
          "title": "repository type"
        },
        "url": {
          "type": "string",
          "title": "required, url of visiting the repository"
        },
        "credential": {
          "type": "string",
          "title": "required, credential of visiting the repository"
        },
        "visibility": {
          "type": "string",
          "title": "required, visibility eg:[public|private]"
        },
        "providers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, runtime provider eg.[qingcloud|aliyun|aws|kubernetes]"
        },
        "labels": {
          "type": "string",
          "title": "a kv string, tags of server"
        },
        "selectors": {
          "type": "string",
          "title": "selectors of label"
        },
        "category_id": {
          "type": "string",
          "title": "category id"
        },
        "app_default_status": {
          "type": "string",
          "title": "required app default status.eg:[draft|active]"
        }
      }
    },
    "openpitrixCreateRepoResponse": {
      "type": "object",
      "properties": {
        "repo_id": {
          "type": "string",
          "title": "id of repository created"
        }
      }
    },
    "openpitrixDeleteReposRequest": {
      "type": "object",
      "properties": {
        "repo_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of repository to delete"
        }
      }
    },
    "openpitrixDeleteReposResponse": {
      "type": "object",
      "properties": {
        "repo_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of repository deleted"
        }
      }
    },
    "openpitrixDescribeReposResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of repository"
        },
        "repo_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRepo"
          },
          "title": "list of repository"
        }
      }
    },
    "openpitrixModifyRepoRequest": {
      "type": "object",
      "properties": {
        "repo_id": {
          "type": "string",
          "title": "required, id of repository to modify"
        },
        "name": {
          "type": "string",
          "title": "repository name"
        },
        "description": {
          "type": "string",
          "title": "repository description"
        },
        "type": {
          "type": "string",
          "title": "repository type"
        },
        "url": {
          "type": "string",
          "title": "url of visiting the repository"
        },
        "credential": {
          "type": "string",
          "title": "credential of visiting the repository"
        },
        "visibility": {
          "type": "string",
          "title": "visibility eg:[public|private]"
        },
        "providers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "runtime provider eg.[qingcloud|aliyun|aws|kubernetes]"
        },
        "labels": {
          "type": "string",
          "title": "a kv string, tags of server"
        },
        "selectors": {
          "type": "string",
          "title": "selectors of label"
        },
        "category_id": {
          "type": "string",
          "title": "category id"
        },
        "app_default_status": {
          "type": "string",
          "title": "app default status eg:[draft|active]"
        }
      }
    },
    "openpitrixModifyRepoResponse": {
      "type": "object",
      "properties": {
        "repo_id": {
          "type": "string",
          "title": "id of repository modified"
        }
      }
    },
    "openpitrixRepo": {
      "type": "object",
      "properties": {
        "repo_id": {
          "type": "string",
          "title": "repository id"
        },
        "name": {
          "type": "string",
          "title": "repository name"
        },
        "description": {
          "type": "string",
          "title": "repository description"
        },
        "type": {
          "type": "string",
          "title": "type of repository eg.[http|https|s3]"
        },
        "url": {
          "type": "string",
          "title": "url of visiting the repository"
        },
        "credential": {
          "type": "string",
          "title": "credential of visiting the repository"
        },
        "visibility": {
          "type": "string",
          "title": "visibility.eg:[public|private]"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path, concat string group_path:user_id"
        },
        "providers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "runtime provider eg.[qingcloud|aliyun|aws|kubernetes]"
        },
        "labels": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRepoLabel"
          },
          "title": "labels"
        },
        "selectors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRepoSelector"
          },
          "title": "selectors of label"
        },
        "status": {
          "type": "string",
          "title": "status eg.[active|deleted]"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when repository create"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "category_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixResourceCategory"
          },
          "title": "list category"
        },
        "app_default_status": {
          "type": "string",
          "title": "app default status eg[active|draft]"
        },
        "controller": {
          "type": "integer",
          "format": "int32",
          "title": "controller, value 0 for self resource, value 1 for openpitrix resource"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixRepoLabel": {
      "type": "object",
      "properties": {
        "label_key": {
          "type": "string",
          "title": "label key"
        },
        "label_value": {
          "type": "string",
          "title": "label value"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when repository label create"
        }
      }
    },
    "openpitrixRepoSelector": {
      "type": "object",
      "properties": {
        "selector_key": {
          "type": "string",
          "title": "selector key"
        },
        "selector_value": {
          "type": "string",
          "title": "selector value"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when repository selector create"
        }
      }
    },
    "openpitrixValidateRepoResponse": {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "format": "boolean",
          "title": "validate repository ok or not"
        },
        "errorCode": {
          "type": "integer",
          "format": "int64",
          "title": "if validate error,return error code"
        }
      }
    },
    "openpitrixDescribeRepoEventsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of repository event"
        },
        "repo_event_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRepoEvent"
          },
          "title": "list of repository event"
        }
      }
    },
    "openpitrixIndexRepoRequest": {
      "type": "object",
      "properties": {
        "repo_id": {
          "type": "string",
          "title": "id of repository to index"
        }
      }
    },
    "openpitrixIndexRepoResponse": {
      "type": "object",
      "properties": {
        "repo_event": {
          "$ref": "#/definitions/openpitrixRepoEvent",
          "title": "repository event"
        },
        "repo_id": {
          "type": "string",
          "title": "id of repository indexed"
        }
      }
    },
    "openpitrixRepoEvent": {
      "type": "object",
      "properties": {
        "repo_event_id": {
          "type": "string",
          "title": "repository event id"
        },
        "repo_id": {
          "type": "string",
          "title": "repository id"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path, concat string group_path:user_id"
        },
        "status": {
          "type": "string",
          "title": "repository event status eg.[failed|successful|working|pending]"
        },
        "result": {
          "type": "string",
          "title": "result"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "repository event create time"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixCreateRuntimeCredentialRequest": {
      "type": "object",
      "properties": {
        "runtime_url": {
          "type": "string",
          "title": "required, runtime url"
        },
        "runtime_credential_content": {
          "type": "string",
          "title": "required, runtime credential content, a json file"
        },
        "provider": {
          "type": "string",
          "title": "required, runtime provider eg.[qingcloud|aliyun|aws|kubernetes]"
        },
        "name": {
          "type": "string",
          "title": "runtime credential name"
        },
        "description": {
          "type": "string",
          "title": "runtime credential description"
        }
      }
    },
    "openpitrixCreateRuntimeCredentialResponse": {
      "type": "object",
      "properties": {
        "runtime_credential_id": {
          "type": "string",
          "title": "id of runtime credential created"
        }
      }
    },
    "openpitrixCreateRuntimeRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "required, runtime name"
        },
        "description": {
          "type": "string",
          "title": "runtime description"
        },
        "provider": {
          "type": "string",
          "title": "required, runtime provider eg.[qingcloud|aliyun|aws|kubernetes]"
        },
        "runtime_credential_id": {
          "type": "string",
          "title": "required, runtime credential id"
        },
        "zone": {
          "type": "string",
          "title": "required, runtime zone eg.[pek3a|pek3b|...]"
        }
      }
    },
    "openpitrixCreateRuntimeResponse": {
      "type": "object",
      "properties": {
        "runtime_id": {
          "type": "string",
          "title": "id of runtime created"
        }
      }
    },
    "openpitrixDeleteRuntimeCredentialsRequest": {
      "type": "object",
      "properties": {
        "runtime_credential_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of runtime credential to delete"
        }
      }
    },
    "openpitrixDeleteRuntimeCredentialsResponse": {
      "type": "object",
      "properties": {
        "runtime_credential_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of runtime credential deleted"
        }
      }
    },
    "openpitrixDeleteRuntimesRequest": {
      "type": "object",
      "properties": {
        "runtime_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "required, ids of runtime to delete"
        },
        "force": {
          "type": "boolean",
          "format": "boolean",
          "title": "whether force delete runtime or not"
        },
        "grace_period": {
          "type": "integer",
          "format": "int64",
          "title": "timeout(s), when delete runtime"
        }
      }
    },
    "openpitrixDeleteRuntimesResponse": {
      "type": "object",
      "properties": {
        "runtime_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of runtime deleted"
        }
      }
    },
    "openpitrixDescribeRuntimeCredentialsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of runtime credential"
        },
        "runtime_credential_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRuntimeCredential"
          },
          "title": "list of runtime credential"
        }
      }
    },
    "openpitrixDescribeRuntimeDetailsResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of runtime"
        },
        "runtime_detail_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRuntimeDetail"
          },
          "title": "list of runtime detail info"
        }
      }
    },
    "openpitrixDescribeRuntimeProviderZonesResponse": {
      "type": "object",
      "properties": {
        "runtime_credential_id": {
          "type": "string",
          "title": "runtime credential id"
        },
        "zone": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "list of zone"
        }
      }
    },
    "openpitrixDescribeRuntimesResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of runtime"
        },
        "runtime_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRuntime"
          },
          "title": "list of runtime"
        }
      }
    },
    "openpitrixGetRuntimeStatisticsResponse": {
      "type": "object",
      "properties": {
        "last_two_week_created": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          },
          "title": "runtime create time range map to runtime count, max length is 14"
        },
        "top_ten_providers": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          },
          "title": "provider id map to runtime count, max length is 10"
        },
        "runtime_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of runtime"
        },
        "provider_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of provider"
        }
      }
    },
    "openpitrixModifyRuntimeCredentialRequest": {
      "type": "object",
      "properties": {
        "runtime_credential_id": {
          "type": "string",
          "title": "required, id of runtime credential to modify"
        },
        "name": {
          "type": "string",
          "title": "runtime credential name"
        },
        "description": {
          "type": "string",
          "title": "runtime credential description"
        },
        "runtime_credential_content": {
          "type": "string",
          "title": "runtime credential content, a json file"
        }
      }
    },
    "openpitrixModifyRuntimeCredentialResponse": {
      "type": "object",
      "properties": {
        "runtime_credential_id": {
          "type": "string",
          "title": "id of runtime credential modified"
        }
      }
    },
    "openpitrixModifyRuntimeRequest": {
      "type": "object",
      "properties": {
        "runtime_id": {
          "type": "string",
          "title": "required, id of runtime to modify"
        },
        "name": {
          "type": "string",
          "title": "runtime name"
        },
        "description": {
          "type": "string",
          "title": "runtime description"
        },
        "runtime_credential_id": {
          "type": "string",
          "title": "runtime credential id"
        }
      }
    },
    "openpitrixModifyRuntimeResponse": {
      "type": "object",
      "properties": {
        "runtime_id": {
          "type": "string",
          "title": "id of runtime modified"
        }
      }
    },
    "openpitrixRuntime": {
      "type": "object",
      "properties": {
        "runtime_id": {
          "type": "string",
          "title": "runtime id"
        },
        "name": {
          "type": "string",
          "description": "runtime name,create by owner."
        },
        "description": {
          "type": "string",
          "title": "runtime description"
        },
        "provider": {
          "type": "string",
          "title": "runtime provider.eg.[qingcloud|aliyun|aws|kubernetes]"
        },
        "runtime_credential_id": {
          "type": "string",
          "title": "runtime credential id"
        },
        "zone": {
          "type": "string",
          "title": "runtime zone eg.[pek3a|pek3b|...]"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path, concat string group_path:user_id"
        },
        "status": {
          "type": "string",
          "title": "status eg.[active|deleted]"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when runtime create"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "debug": {
          "type": "boolean",
          "format": "boolean",
          "title": "debug or not"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixRuntimeCredential": {
      "type": "object",
      "properties": {
        "runtime_credential_id": {
          "type": "string",
          "title": "runtime credential id"
        },
        "name": {
          "type": "string",
          "title": "runtime credential name"
        },
        "description": {
          "type": "string",
          "title": "runtime credential description"
        },
        "runtime_url": {
          "type": "string",
          "title": "runtime url eg.[http://www.qingyun.com]"
        },
        "runtime_credential_content": {
          "type": "string",
          "title": "runtime credential content"
        },
        "owner_path": {
          "type": "string",
          "title": "own path, concat string group_path:user_id"
        },
        "provider": {
          "type": "string",
          "title": "runtime provider eg.[qingcloud|aliyun|aws|kubernetes]"
        },
        "status": {
          "type": "string",
          "title": "runtime credential status eg.[active|deleted]"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when runtime credential create"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record status changed time"
        },
        "debug": {
          "type": "boolean",
          "format": "boolean",
          "title": "debug or not"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixRuntimeDetail": {
      "type": "object",
      "properties": {
        "runtime": {
          "$ref": "#/definitions/openpitrixRuntime",
          "title": "runtime"
        },
        "runtime_credential": {
          "$ref": "#/definitions/openpitrixRuntimeCredential",
          "title": "runtime credential"
        }
      }
    },
    "openpitrixValidateRuntimeCredentialRequest": {
      "type": "object",
      "properties": {
        "runtime_url": {
          "type": "string",
          "title": "required, runtime url"
        },
        "runtime_credential_content": {
          "type": "string",
          "title": "required, runtime url"
        },
        "provider": {
          "type": "string",
          "title": "required, runtime provider eg.[qingcloud|aliyun|aws|kubernetes]"
        }
      }
    },
    "openpitrixValidateRuntimeCredentialResponse": {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "format": "boolean",
          "title": "validte ok or not"
        }
      }
    },
    "openpitrixCheckResourceResponse": {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "format": "boolean",
          "title": "check ok or not"
        }
      }
    },
    "openpitrixDescribeClusterDetailsResponse": {
      "type": "object",
      "properties": {
        "cluster": {
          "$ref": "#/definitions/openpitrixCluster",
          "title": "cluster info"
        }
      }
    },
    "openpitrixDescribeVpcResponse": {
      "type": "object",
      "properties": {
        "vpc": {
          "$ref": "#/definitions/openpitrixVpc",
          "title": "vpc"
        }
      }
    },
    "openpitrixDescribeZonesResponse": {
      "type": "object",
      "properties": {
        "zones": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "list of zones in runtime provider"
        }
      }
    },
    "openpitrixEip": {
      "type": "object",
      "properties": {
        "eip_id": {
          "type": "string",
          "title": "elastic ip"
        },
        "name": {
          "type": "string",
          "title": "eip name"
        },
        "addr": {
          "type": "string",
          "title": "eip address"
        }
      }
    },
    "openpitrixHandleSubtaskResponse": {
      "type": "object",
      "properties": {
        "task": {
          "$ref": "#/definitions/openpitrixTask",
          "title": "task handled"
        }
      }
    },
    "openpitrixParseClusterConfResponse": {
      "type": "object",
      "properties": {
        "cluster": {
          "$ref": "#/definitions/openpitrixCluster",
          "title": "cluster"
        }
      }
    },
    "openpitrixRegisterRuntimeProviderResponse": {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "format": "boolean",
          "title": "register ok or not"
        }
      }
    },
    "openpitrixSplitJobIntoTasksResponse": {
      "type": "object",
      "properties": {
        "taskLayer": {
          "$ref": "#/definitions/openpitrixTaskLayer",
          "title": "job will split to TaskLayer"
        }
      }
    },
    "openpitrixTask": {
      "type": "object",
      "properties": {
        "task_id": {
          "type": "string",
          "title": "task id"
        },
        "job_id": {
          "type": "string",
          "title": "job id,job will be split to one more task"
        },
        "task_action": {
          "type": "string",
          "title": "describe the action of the task eg.[WaitFrontgateAvailable|PingFrontgate|AttachVolumes|StartInstances|...]"
        },
        "status": {
          "type": "string",
          "title": "task status eg.[running|successful|failed|pending]"
        },
        "error_code": {
          "type": "integer",
          "format": "int64",
          "title": "error code"
        },
        "directive": {
          "type": "string",
          "title": "directive,a json string, describe the info of running the task action"
        },
        "executor": {
          "type": "string",
          "title": "host name of server"
        },
        "owner_path": {
          "type": "string",
          "title": "owner path, concat string group_path:user_id"
        },
        "target": {
          "type": "string",
          "title": "describe where the task running eg.[runtime|pilot]"
        },
        "node_id": {
          "type": "string",
          "title": "the cluster contain one more node"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when task create"
        },
        "status_time": {
          "type": "string",
          "format": "date-time",
          "title": "record the status changed time"
        },
        "failure_allowed": {
          "type": "boolean",
          "format": "boolean",
          "title": "allow task run failed or not"
        },
        "owner": {
          "type": "string",
          "title": "owner"
        }
      }
    },
    "openpitrixTaskLayer": {
      "type": "object",
      "properties": {
        "tasks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixTask"
          },
          "title": "task in task layer, a task layer contain one more task"
        },
        "child": {
          "$ref": "#/definitions/openpitrixTaskLayer",
          "title": "a task layer point to another task layer"
        }
      }
    },
    "openpitrixValidateRuntimeResponse": {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "format": "boolean",
          "title": "validate ok or not"
        }
      }
    },
    "openpitrixVpc": {
      "type": "object",
      "properties": {
        "vpc_id": {
          "type": "string",
          "title": "vpc id"
        },
        "name": {
          "type": "string",
          "title": "vpc name"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "the time when vpc create"
        },
        "description": {
          "type": "string",
          "title": "vpc description"
        },
        "status": {
          "type": "string",
          "title": "cluster status eg.[pending|running|stopped|suspended|terminated|ceased]"
        },
        "transition_status": {
          "type": "string",
          "title": "cluster transition status eg.[creating|starting|stopping|restarting|suspending|resuming|terminating|recovering|resetting]"
        },
        "subnets": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "list subnet, a vpc contain one more subnet"
        },
        "eip": {
          "$ref": "#/definitions/openpitrixEip",
          "title": "elastic ip, a vpc has a eip"
        }
      }
    },
    "openpitrixWaitSubtaskResponse": {
      "type": "object",
      "properties": {
        "task": {
          "$ref": "#/definitions/openpitrixTask",
          "title": "task waited"
        }
      }
    },
    "openpitrixBasicConfig": {
      "type": "object",
      "properties": {
        "platform_name": {
          "type": "string",
          "title": "platform name"
        },
        "platform_url": {
          "type": "string",
          "title": "platform url"
        }
      }
    },
    "openpitrixEmailServiceConfig": {
      "type": "object",
      "properties": {
        "protocol": {
          "type": "string",
          "title": "protocol"
        },
        "email_host": {
          "type": "string",
          "title": "email host"
        },
        "port": {
          "type": "integer",
          "format": "int64",
          "title": "port"
        },
        "display_sender": {
          "type": "string",
          "title": "display sender"
        },
        "email": {
          "type": "string",
          "title": "email"
        },
        "password": {
          "type": "string",
          "title": "password"
        },
        "ssl_enable": {
          "type": "boolean",
          "format": "boolean",
          "title": "use ssl or not"
        }
      }
    },
    "openpitrixGetServiceConfigRequest": {
      "type": "object",
      "properties": {
        "service_type": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "service type eg.[runtime]"
        }
      }
    },
    "openpitrixGetServiceConfigResponse": {
      "type": "object",
      "properties": {
        "notification_config": {
          "$ref": "#/definitions/openpitrixNotificationConfig",
          "title": "notification config"
        },
        "runtime_config": {
          "$ref": "#/definitions/openpitrixRuntimeConfig",
          "title": "runtime config"
        },
        "basic_config": {
          "$ref": "#/definitions/openpitrixBasicConfig",
          "title": "basic config"
        }
      }
    },
    "openpitrixNotificationConfig": {
      "type": "object",
      "properties": {
        "email_service_config": {
          "$ref": "#/definitions/openpitrixEmailServiceConfig",
          "title": "email service sonfig"
        }
      }
    },
    "openpitrixRuntimeConfig": {
      "type": "object",
      "properties": {
        "config_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixRuntimeItemConfig"
          },
          "title": "runtime item config"
        }
      }
    },
    "openpitrixRuntimeItemConfig": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "runtime name eg.[qingcloud|aliyun|aws|kubernetes]"
        },
        "enable": {
          "type": "boolean",
          "format": "boolean",
          "title": "whether runtime is available"
        }
      }
    },
    "openpitrixSetServiceConfigRequest": {
      "type": "object",
      "properties": {
        "notification_config": {
          "$ref": "#/definitions/openpitrixNotificationConfig",
          "title": "notification config"
        },
        "runtime_config": {
          "$ref": "#/definitions/openpitrixRuntimeConfig",
          "title": "runtime config"
        },
        "basic_config": {
          "$ref": "#/definitions/openpitrixBasicConfig",
          "title": "basic config"
        }
      }
    },
    "openpitrixSetServiceConfigResponse": {
      "type": "object",
      "properties": {
        "is_succ": {
          "type": "boolean",
          "format": "boolean",
          "title": "set service config ok or not"
        }
      }
    },
    "openpitrixValidateEmailServiceRequest": {
      "type": "object",
      "properties": {
        "email_service_config": {
          "$ref": "#/definitions/openpitrixEmailServiceConfig",
          "title": "email service config"
        }
      }
    },
    "openpitrixValidateEmailServiceResponse": {
      "type": "object",
      "properties": {
        "is_succ": {
          "type": "boolean",
          "format": "boolean",
          "title": "validate email service ok or not"
        }
      }
    },
    "openpitrixCreateTaskResponse": {
      "type": "object",
      "properties": {
        "task_id": {
          "type": "string",
          "title": "id of task created"
        },
        "job_id": {
          "type": "string",
          "title": "id of job created"
        }
      }
    },
    "openpitrixDescribeTasksResponse": {
      "type": "object",
      "properties": {
        "total_count": {
          "type": "integer",
          "format": "int64",
          "title": "total count of task"
        },
        "task_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixTask"
          },
          "title": "list of task"
        }
      }
    },
    "openpitrixRetryTasksRequest": {
      "type": "object",
      "properties": {
        "task_id": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "ids of task to retry"
        }
      }
    },
    "openpitrixRetryTasksResponse": {
      "type": "object",
      "properties": {
        "task_set": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/openpitrixTask"
          },
          "title": "list of task retried"
        }
      }
    }
  },
  "securityDefinitions": {
    "BearerAuth": {
      "type": "apiKey",
      "description": "The Authorization header must be set to Bearer followed by a space and a token. For example, 'Bearer vHUabiBEIKi8n1RdvWOjGFulGSM6zunb'.",
      "name": "Authorization",
      "in": "header"
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ]
}
`,
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL