basePath: /api/v1
definitions:
  dto.BackupOperate:
    properties:
      accessKey:
        type: string
      bucket:
        type: string
      credential:
        type: string
      id:
        type: integer
      type:
        type: string
      vars:
        type: string
    required:
    - type
    - vars
    type: object
  dto.BackupSearchFile:
    properties:
      type:
        type: string
    required:
    - type
    type: object
  dto.BatchDelete:
    properties:
      names:
        items:
          type: string
        type: array
    required:
    - names
    type: object
  dto.BatchDeleteReq:
    properties:
      ids:
        items:
          type: integer
        type: array
    required:
    - ids
    type: object
  dto.CaptchaResponse:
    properties:
      captchaID:
        type: string
      imagePath:
        type: string
    type: object
  dto.ChangeDBInfo:
    properties:
      id:
        type: integer
      value:
        type: string
    required:
    - value
    type: object
  dto.ChangeHostGroup:
    properties:
      groupID:
        type: integer
      id:
        type: integer
    required:
    - groupID
    - id
    type: object
  dto.CleanLog:
    properties:
      logType:
        enum:
        - login
        - operation
        type: string
    required:
    - logType
    type: object
  dto.CommandInfo:
    properties:
      command:
        type: string
      id:
        type: integer
      name:
        type: string
    type: object
  dto.CommandOperate:
    properties:
      command:
        type: string
      id:
        type: integer
      name:
        type: string
    required:
    - command
    - name
    type: object
  dto.CommonBackup:
    properties:
      detailName:
        type: string
      name:
        type: string
      type:
        enum:
        - app
        - mysql
        - redis
        - website
        type: string
    required:
    - type
    type: object
  dto.CommonRecover:
    properties:
      detailName:
        type: string
      file:
        type: string
      name:
        type: string
      type:
        enum:
        - app
        - mysql
        - redis
        - website
        type: string
    required:
    - type
    type: object
  dto.ComposeCreate:
    properties:
      file:
        type: string
      from:
        enum:
        - edit
        - path
        - template
        type: string
      name:
        type: string
      path:
        type: string
      template:
        type: integer
    required:
    - from
    type: object
  dto.ComposeOperation:
    properties:
      name:
        type: string
      operation:
        enum:
        - start
        - stop
        - down
        type: string
      path:
        type: string
    required:
    - name
    - operation
    - path
    type: object
  dto.ComposeTemplateCreate:
    properties:
      content:
        type: string
      description:
        type: string
      name:
        type: string
    required:
    - name
    type: object
  dto.ComposeTemplateUpdate:
    properties:
      content:
        type: string
      description:
        type: string
      id:
        type: integer
    type: object
  dto.ComposeUpdate:
    properties:
      content:
        type: string
      name:
        type: string
      path:
        type: string
    required:
    - content
    - name
    - path
    type: object
  dto.ContainerCreate:
    properties:
      autoRemove:
        type: boolean
      cmd:
        items:
          type: string
        type: array
      env:
        items:
          type: string
        type: array
      exposedPorts:
        items:
          $ref: '#/definitions/dto.PortHelper'
        type: array
      image:
        type: string
      labels:
        items:
          type: string
        type: array
      memory:
        type: integer
      name:
        type: string
      nanoCPUs:
        type: integer
      publishAllPorts:
        type: boolean
      restartPolicy:
        type: string
      volumes:
        items:
          $ref: '#/definitions/dto.VolumeHelper'
        type: array
    type: object
  dto.ContainerLog:
    properties:
      containerID:
        type: string
      mode:
        type: string
    required:
    - containerID
    - mode
    type: object
  dto.ContainerOperation:
    properties:
      name:
        type: string
      newName:
        type: string
      operation:
        enum:
        - start
        - stop
        - restart
        - kill
        - pause
        - unpause
        - rename
        - remove
        type: string
    required:
    - name
    - operation
    type: object
  dto.ContainterStats:
    properties:
      cache:
        type: number
      cpuPercent:
        type: number
      ioRead:
        type: number
      ioWrite:
        type: number
      memory:
        type: number
      networkRX:
        type: number
      networkTX:
        type: number
      shotTime:
        type: string
    type: object
  dto.CronjobCreate:
    properties:
      day:
        type: integer
      dbName:
        type: string
      exclusionRules:
        type: string
      hour:
        type: integer
      keepLocal:
        type: boolean
      minute:
        type: integer
      name:
        type: string
      retainCopies:
        minimum: 1
        type: integer
      script:
        type: string
      sourceDir:
        type: string
      specType:
        type: string
      targetDirID:
        type: integer
      type:
        type: string
      url:
        type: string
      website:
        type: string
      week:
        maximum: 7
        minimum: 1
        type: integer
    required:
    - name
    - specType
    - type
    type: object
  dto.CronjobDownload:
    properties:
      backupAccountID:
        type: integer
      recordID:
        type: integer
    required:
    - backupAccountID
    - recordID
    type: object
  dto.CronjobUpdate:
    properties:
      day:
        type: integer
      dbName:
        type: string
      exclusionRules:
        type: string
      hour:
        type: integer
      id:
        type: integer
      keepLocal:
        type: boolean
      minute:
        type: integer
      name:
        type: string
      retainCopies:
        minimum: 1
        type: integer
      script:
        type: string
      sourceDir:
        type: string
      specType:
        type: string
      targetDirID:
        type: integer
      url:
        type: string
      website:
        type: string
      week:
        maximum: 7
        minimum: 1
        type: integer
    required:
    - id
    - name
    - specType
    type: object
  dto.CronjobUpdateStatus:
    properties:
      id:
        type: integer
      status:
        type: string
    required:
    - id
    - status
    type: object
  dto.DBBaseInfo:
    properties:
      containerName:
        type: string
      name:
        type: string
      port:
        type: integer
    type: object
  dto.DaemonJsonConf:
    properties:
      cgroupDriver:
        type: string
      insecureRegistries:
        items:
          type: string
        type: array
      liveRestore:
        type: boolean
      registryMirrors:
        items:
          type: string
        type: array
      status:
        type: string
      version:
        type: string
    type: object
  dto.DaemonJsonUpdateByFile:
    properties:
      file:
        type: string
    type: object
  dto.DashboardBase:
    properties:
      appInstalldNumber:
        type: integer
      cpuCores:
        type: integer
      cpuLogicalCores:
        type: integer
      cpuModelName:
        type: string
      cronjobNumber:
        type: integer
      currentInfo:
        $ref: '#/definitions/dto.DashboardCurrent'
      databaseNumber:
        type: integer
      dateeaseID:
        type: integer
      haloID:
        type: integer
      hostname:
        type: string
      jumpserverID:
        type: integer
      kernelArch:
        type: string
      kernelVersion:
        type: string
      kubeoperatorID:
        type: integer
      kubepiID:
        type: integer
      metersphereID:
        type: integer
      os:
        type: string
      platform:
        type: string
      platformFamily:
        type: string
      platformVersion:
        type: string
      virtualizationSystem:
        type: string
      websiteNumber:
        type: integer
    type: object
  dto.DashboardCurrent:
    properties:
      MemoryUsedPercent:
        type: number
      cpuPercent:
        items:
          type: number
        type: array
      cpuTotal:
        type: integer
      cpuUsed:
        type: number
      cpuUsedPercent:
        type: number
      free:
        type: integer
      inodesFree:
        type: integer
      inodesTotal:
        type: integer
      inodesUsed:
        type: integer
      inodesUsedPercent:
        type: number
      ioCount:
        type: integer
      ioReadBytes:
        type: integer
      ioTime:
        type: integer
      ioWriteBytes:
        type: integer
      load1:
        type: number
      load5:
        type: number
      load15:
        type: number
      loadUsagePercent:
        type: number
      memoryAvailable:
        type: integer
      memoryTotal:
        type: integer
      memoryUsed:
        type: integer
      netBytesRecv:
        type: integer
      netBytesSent:
        type: integer
      procs:
        type: integer
      shotTime:
        type: string
      timeSinceUptime:
        type: string
      total:
        type: integer
      uptime:
        type: integer
      used:
        type: integer
      usedPercent:
        type: number
    type: object
  dto.DockerOperation:
    properties:
      operation:
        enum:
        - start
        - restart
        - stop
        type: string
      stopService:
        type: boolean
      stopSocket:
        type: boolean
    required:
    - operation
    type: object
  dto.DownloadRecord:
    properties:
      fileDir:
        type: string
      fileName:
        type: string
      source:
        enum:
        - OSS
        - S3
        - SFTP
        - MINIO
        - LOCAL
        type: string
    required:
    - fileDir
    - fileName
    - source
    type: object
  dto.FilePath:
    properties:
      path:
        type: string
    required:
    - path
    type: object
  dto.ForBuckets:
    properties:
      accessKey:
        type: string
      credential:
        type: string
      type:
        type: string
      vars:
        type: string
    required:
    - credential
    - type
    - vars
    type: object
  dto.GroupCreate:
    properties:
      id:
        type: integer
      name:
        type: string
      type:
        type: string
    required:
    - name
    - type
    type: object
  dto.GroupSearch:
    properties:
      type:
        type: string
    required:
    - type
    type: object
  dto.GroupUpdate:
    properties:
      id:
        type: integer
      isDefault:
        type: boolean
      name:
        type: string
    type: object
  dto.HostConnTest:
    properties:
      addr:
        type: string
      authMode:
        enum:
        - password
        - key
        type: string
      password:
        type: string
      port:
        maximum: 65535
        minimum: 1
        type: integer
      privateKey:
        type: string
      user:
        type: string
    required:
    - addr
    - port
    - user
    type: object
  dto.HostInfo:
    properties:
      addr:
        type: string
      authMode:
        type: string
      createdAt:
        type: string
      description:
        type: string
      groupBelong:
        type: string
      groupID:
        type: integer
      id:
        type: integer
      name:
        type: string
      port:
        type: integer
      user:
        type: string
    type: object
  dto.HostOperate:
    properties:
      addr:
        type: string
      authMode:
        enum:
        - password
        - key
        type: string
      description:
        type: string
      groupID:
        type: integer
      id:
        type: integer
      name:
        type: string
      password:
        type: string
      port:
        maximum: 65535
        minimum: 1
        type: integer
      privateKey:
        type: string
      user:
        type: string
    required:
    - addr
    - port
    - user
    type: object
  dto.ImageBuild:
    properties:
      dockerfile:
        type: string
      from:
        type: string
      name:
        type: string
      tags:
        items:
          type: string
        type: array
    required:
    - dockerfile
    - from
    - name
    type: object
  dto.ImageLoad:
    properties:
      path:
        type: string
    required:
    - path
    type: object
  dto.ImagePull:
    properties:
      imageName:
        type: string
      repoID:
        type: integer
    required:
    - imageName
    type: object
  dto.ImagePush:
    properties:
      name:
        type: string
      repoID:
        type: integer
      tagName:
        type: string
    required:
    - name
    - repoID
    - tagName
    type: object
  dto.ImageRepoDelete:
    properties:
      ids:
        items:
          type: integer
        type: array
    required:
    - ids
    type: object
  dto.ImageRepoUpdate:
    properties:
      auth:
        type: boolean
      downloadUrl:
        type: string
      id:
        type: integer
      password:
        type: string
      protocol:
        type: string
      username:
        type: string
    type: object
  dto.ImageSave:
    properties:
      name:
        type: string
      path:
        type: string
      tagName:
        type: string
    required:
    - name
    - path
    - tagName
    type: object
  dto.ImageTag:
    properties:
      repoID:
        type: integer
      sourceID:
        type: string
      targetName:
        type: string
    required:
    - sourceID
    - targetName
    type: object
  dto.InitUser:
    properties:
      name:
        type: string
      password:
        type: string
    required:
    - name
    - password
    type: object
  dto.InspectReq:
    properties:
      id:
        type: string
      type:
        type: string
    type: object
  dto.Login:
    properties:
      authMethod:
        type: string
      captcha:
        type: string
      captchaID:
        type: string
      name:
        type: string
      password:
        type: string
    type: object
  dto.MFALogin:
    properties:
      authMethod:
        type: string
      code:
        type: string
      name:
        type: string
      password:
        type: string
      secret:
        type: string
    type: object
  dto.MfaCredential:
    properties:
      code:
        type: string
      secret:
        type: string
    type: object
  dto.MysqlConfUpdateByFile:
    properties:
      file:
        type: string
      mysqlName:
        type: string
    required:
    - mysqlName
    type: object
  dto.MysqlDBCreate:
    properties:
      description:
        type: string
      format:
        enum:
        - utf8mb4
        - utf8
        - gbk
        - big5
        type: string
      name:
        type: string
      password:
        type: string
      permission:
        type: string
      username:
        type: string
    required:
    - format
    - name
    - password
    - permission
    - username
    type: object
  dto.MysqlDBDelete:
    properties:
      deleteBackup:
        type: boolean
      forceDelete:
        type: boolean
      id:
        type: integer
    required:
    - id
    type: object
  dto.MysqlStatus:
    properties:
      Aborted_clients:
        type: string
      Aborted_connects:
        type: string
      Bytes_received:
        type: string
      Bytes_sent:
        type: string
      Com_commit:
        type: string
      Com_rollback:
        type: string
      Connections:
        type: string
      Created_tmp_disk_tables:
        type: string
      Created_tmp_tables:
        type: string
      File:
        type: string
      Innodb_buffer_pool_pages_dirty:
        type: string
      Innodb_buffer_pool_read_requests:
        type: string
      Innodb_buffer_pool_reads:
        type: string
      Key_read_requests:
        type: string
      Key_reads:
        type: string
      Key_write_requests:
        type: string
      Key_writes:
        type: string
      Max_used_connections:
        type: string
      Open_tables:
        type: string
      Opened_files:
        type: string
      Opened_tables:
        type: string
      Position:
        type: string
      Qcache_hits:
        type: string
      Qcache_inserts:
        type: string
      Questions:
        type: string
      Run:
        type: string
      Select_full_join:
        type: string
      Select_range_check:
        type: string
      Sort_merge_passes:
        type: string
      Table_locks_waited:
        type: string
      Threads_cached:
        type: string
      Threads_connected:
        type: string
      Threads_created:
        type: string
      Threads_running:
        type: string
      Uptime:
        type: string
    type: object
  dto.MysqlVariables:
    properties:
      binlog_cache_size:
        type: string
      innodb_buffer_pool_size:
        type: string
      innodb_log_buffer_size:
        type: string
      join_buffer_size:
        type: string
      key_buffer_size:
        type: string
      long_query_time:
        type: string
      max_connections:
        type: string
      max_heap_table_size:
        type: string
      query_cache_size:
        type: string
      query_cache_type:
        type: string
      read_buffer_size:
        type: string
      read_rnd_buffer_size:
        type: string
      slow_query_log:
        type: string
      sort_buffer_size:
        type: string
      table_open_cache:
        type: string
      thread_cache_size:
        type: string
      thread_stack:
        type: string
      tmp_table_size:
        type: string
    type: object
  dto.MysqlVariablesUpdate:
    properties:
      param:
        type: string
      value: {}
    type: object
  dto.NetworkCreat:
    properties:
      driver:
        type: string
      gateway:
        type: string
      ipRange:
        type: string
      labels:
        items:
          type: string
        type: array
      name:
        type: string
      options:
        items:
          type: string
        type: array
      subnet:
        type: string
    type: object
  dto.NginxKey:
    enum:
    - index
    - limit-conn
    - ssl
    - http-per
    type: string
    x-enum-varnames:
    - Index
    - LimitConn
    - SSL
    - HttpPer
  dto.OperateByID:
    properties:
      id:
        type: integer
    required:
    - id
    type: object
  dto.PageContainer:
    properties:
      filters:
        type: string
      name:
        type: string
      page:
        type: integer
      pageSize:
        type: integer
    required:
    - page
    - pageSize
    type: object
  dto.PageInfo:
    properties:
      page:
        type: integer
      pageSize:
        type: integer
    required:
    - page
    - pageSize
    type: object
  dto.PageResult:
    properties:
      items: {}
      total:
        type: integer
    type: object
  dto.PasswordUpdate:
    properties:
      newPassword:
        type: string
      oldPassword:
        type: string
    required:
    - newPassword
    - oldPassword
    type: object
  dto.PortHelper:
    properties:
      containerPort:
        type: integer
      hostPort:
        type: integer
    type: object
  dto.PortUpdate:
    properties:
      serverPort:
        maximum: 65535
        minimum: 1
        type: integer
    required:
    - serverPort
    type: object
  dto.RecordSearch:
    properties:
      detailName:
        type: string
      name:
        type: string
      page:
        type: integer
      pageSize:
        type: integer
      type:
        type: string
    required:
    - name
    - page
    - pageSize
    - type
    type: object
  dto.RedisConf:
    properties:
      containerName:
        type: string
      maxclients:
        type: string
      maxmemory:
        type: string
      name:
        type: string
      port:
        type: integer
      requirepass:
        type: string
      timeout:
        type: string
    type: object
  dto.RedisConfPersistenceUpdate:
    properties:
      appendfsync:
        type: string
      appendonly:
        type: string
      save:
        type: string
      type:
        enum:
        - aof
        - rbd
        type: string
    required:
    - type
    type: object
  dto.RedisConfUpdate:
    properties:
      maxclients:
        type: string
      maxmemory:
        type: string
      timeout:
        type: string
    type: object
  dto.RedisConfUpdateByFile:
    properties:
      file:
        type: string
      restartNow:
        type: boolean
    type: object
  dto.RedisPersistence:
    properties:
      appendfsync:
        type: string
      appendonly:
        type: string
      save:
        type: string
    type: object
  dto.RedisStatus:
    properties:
      connected_clients:
        type: string
      instantaneous_ops_per_sec:
        type: string
      keyspace_hits:
        type: string
      keyspace_misses:
        type: string
      latest_fork_usec:
        type: string
      mem_fragmentation_ratio:
        type: string
      tcp_port:
        type: string
      total_commands_processed:
        type: string
      total_connections_received:
        type: string
      uptime_in_days:
        type: string
      used_memory:
        type: string
      used_memory_peak:
        type: string
      used_memory_rss:
        type: string
    type: object
  dto.SearchForTree:
    properties:
      info:
        type: string
    type: object
  dto.SearchHostWithPage:
    properties:
      groupID:
        type: integer
      info:
        type: string
      page:
        type: integer
      pageSize:
        type: integer
    required:
    - page
    - pageSize
    type: object
  dto.SearchLgLogWithPage:
    properties:
      ip:
        type: string
      page:
        type: integer
      pageSize:
        type: integer
      status:
        type: string
    required:
    - page
    - pageSize
    type: object
  dto.SearchOpLogWithPage:
    properties:
      operation:
        type: string
      page:
        type: integer
      pageSize:
        type: integer
      source:
        type: string
      status:
        type: string
    required:
    - page
    - pageSize
    type: object
  dto.SearchRecord:
    properties:
      cronjobID:
        type: integer
      endTime:
        type: string
      page:
        type: integer
      pageSize:
        type: integer
      startTime:
        type: string
      status:
        type: string
    required:
    - page
    - pageSize
    type: object
  dto.SearchWithPage:
    properties:
      info:
        type: string
      page:
        type: integer
      pageSize:
        type: integer
    required:
    - page
    - pageSize
    type: object
  dto.SettingInfo:
    properties:
      appStoreVersion:
        type: string
      complexityVerification:
        type: string
      dingVars:
        type: string
      email:
        type: string
      emailVars:
        type: string
      expirationDays:
        type: string
      expirationTime:
        type: string
      language:
        type: string
      localTime:
        type: string
      messageType:
        type: string
      mfaSecret:
        type: string
      mfaStatus:
        type: string
      monitorStatus:
        type: string
      monitorStoreDays:
        type: string
      panelName:
        type: string
      port:
        type: string
      securityEntrance:
        type: string
      serverPort:
        type: string
      sessionTimeout:
        type: string
      systemVersion:
        type: string
      theme:
        type: string
      userName:
        type: string
      weChatVars:
        type: string
    type: object
  dto.SettingUpdate:
    properties:
      key:
        type: string
      value:
        type: string
    required:
    - key
    type: object
  dto.SnapshotCreate:
    properties:
      description:
        type: string
      from:
        enum:
        - OSS
        - S3
        - SFTP
        - MINIO
        type: string
    required:
    - from
    type: object
  dto.SnapshotImport:
    properties:
      description:
        type: string
      from:
        type: string
      names:
        items:
          type: string
        type: array
    type: object
  dto.SnapshotRecover:
    properties:
      id:
        type: integer
      isNew:
        type: boolean
      reDownload:
        type: boolean
    required:
    - id
    type: object
  dto.UpdateDescription:
    properties:
      description:
        type: string
      id:
        type: integer
    required:
    - id
    type: object
  dto.Upgrade:
    properties:
      version:
        type: string
    type: object
  dto.UpgradeInfo:
    properties:
      latestVersion:
        type: string
      newVersion:
        type: string
      releaseNote:
        type: string
    type: object
  dto.UserLoginInfo:
    properties:
      mfaSecret:
        type: string
      mfaStatus:
        type: string
      name:
        type: string
      token:
        type: string
    type: object
  dto.VolumeCreat:
    properties:
      driver:
        type: string
      labels:
        items:
          type: string
        type: array
      name:
        type: string
      options:
        items:
          type: string
        type: array
    type: object
  dto.VolumeHelper:
    properties:
      containerDir:
        type: string
      mode:
        type: string
      sourceDir:
        type: string
    type: object
  files.FileInfo:
    properties:
      content:
        type: string
      extension:
        type: string
      group:
        type: string
      isDir:
        type: boolean
      isHidden:
        type: boolean
      isSymlink:
        type: boolean
      itemTotal:
        type: integer
      items:
        items:
          $ref: '#/definitions/files.FileInfo'
        type: array
      linkPath:
        type: string
      mimeType:
        type: string
      modTime:
        type: string
      mode:
        type: string
      name:
        type: string
      path:
        type: string
      size:
        type: integer
      type:
        type: string
      updateTime:
        type: string
      user:
        type: string
    type: object
  mfa.Otp:
    properties:
      qrImage:
        type: string
      secret:
        type: string
    type: object
  model.App:
    properties:
      createdAt:
        type: string
      crossVersionUpdate:
        type: boolean
      document:
        type: string
      github:
        type: string
      icon:
        type: string
      id:
        type: integer
      key:
        type: string
      limit:
        type: integer
      name:
        type: string
      recommend:
        type: integer
      required:
        type: string
      shortDescEn:
        type: string
      shortDescZh:
        type: string
      status:
        type: string
      type:
        type: string
      updatedAt:
        type: string
      website:
        type: string
    type: object
  model.AppInstall:
    properties:
      app:
        $ref: '#/definitions/model.App'
      appDetailId:
        type: integer
      appId:
        type: integer
      containerName:
        type: string
      createdAt:
        type: string
      description:
        type: string
      dockerCompose:
        type: string
      env:
        type: string
      httpPort:
        type: integer
      httpsPort:
        type: integer
      id:
        type: integer
      message:
        type: string
      name:
        type: string
      param:
        type: string
      serviceName:
        type: string
      status:
        type: string
      updatedAt:
        type: string
      version:
        type: string
    type: object
  model.Tag:
    properties:
      createdAt:
        type: string
      id:
        type: integer
      key:
        type: string
      name:
        type: string
      updatedAt:
        type: string
    type: object
  model.Website:
    properties:
      accessLog:
        type: boolean
      alias:
        type: string
      appInstallId:
        type: integer
      createdAt:
        type: string
      defaultServer:
        type: boolean
      domains:
        items:
          $ref: '#/definitions/model.WebsiteDomain'
        type: array
      errorLog:
        type: boolean
      expireDate:
        type: string
      httpConfig:
        type: string
      id:
        type: integer
      primaryDomain:
        type: string
      protocol:
        type: string
      proxy:
        type: string
      remark:
        type: string
      status:
        type: string
      type:
        type: string
      updatedAt:
        type: string
      webSiteGroupId:
        type: integer
      webSiteSSL:
        $ref: '#/definitions/model.WebsiteSSL'
      webSiteSSLId:
        type: integer
    type: object
  model.WebsiteAcmeAccount:
    properties:
      createdAt:
        type: string
      email:
        type: string
      id:
        type: integer
      updatedAt:
        type: string
      url:
        type: string
    type: object
  model.WebsiteDomain:
    properties:
      createdAt:
        type: string
      domain:
        type: string
      id:
        type: integer
      port:
        type: integer
      updatedAt:
        type: string
      websiteId:
        type: integer
    type: object
  model.WebsiteSSL:
    properties:
      acmeAccount:
        $ref: '#/definitions/model.WebsiteAcmeAccount'
      acmeAccountId:
        type: integer
      autoRenew:
        type: boolean
      certURL:
        type: string
      createdAt:
        type: string
      dnsAccountId:
        type: integer
      domains:
        type: string
      expireDate:
        type: string
      id:
        type: integer
      organization:
        type: string
      pem:
        type: string
      primaryDomain:
        type: string
      privateKey:
        type: string
      provider:
        type: string
      startDate:
        type: string
      type:
        type: string
      updatedAt:
        type: string
      websites:
        items:
          $ref: '#/definitions/model.Website'
        type: array
    type: object
  request.AppInstallCreate:
    properties:
      appDetailId:
        type: integer
      name:
        type: string
      params:
        additionalProperties: true
        type: object
      services:
        additionalProperties:
          type: string
        type: object
    required:
    - appDetailId
    - name
    type: object
  request.AppInstalledOperate:
    properties:
      backupId:
        type: integer
      deleteBackup:
        type: boolean
      deleteDB:
        type: boolean
      detailId:
        type: integer
      forceDelete:
        type: boolean
      installId:
        type: integer
      operate:
        type: string
    required:
    - installId
    - operate
    type: object
  request.AppInstalledSearch:
    properties:
      name:
        type: string
      page:
        type: integer
      pageSize:
        type: integer
      tags:
        items:
          type: string
        type: array
      type:
        type: string
      unused:
        type: boolean
      update:
        type: boolean
    required:
    - page
    - pageSize
    type: object
  request.AppInstalledUpdate:
    properties:
      installId:
        type: integer
      params:
        additionalProperties: true
        type: object
    required:
    - installId
    - params
    type: object
  request.AppSearch:
    properties:
      name:
        type: string
      page:
        type: integer
      pageSize:
        type: integer
      recommend:
        type: boolean
      tags:
        items:
          type: string
        type: array
      type:
        type: string
    required:
    - page
    - pageSize
    type: object
  request.DirSizeReq:
    properties:
      path:
        type: string
    required:
    - path
    type: object
  request.FileBatchDelete:
    properties:
      isDir:
        type: boolean
      paths:
        items:
          type: string
        type: array
    required:
    - paths
    type: object
  request.FileCompress:
    properties:
      dst:
        type: string
      files:
        items:
          type: string
        type: array
      name:
        type: string
      replace:
        type: boolean
      type:
        type: string
    required:
    - dst
    - files
    - name
    - type
    type: object
  request.FileCreate:
    properties:
      content:
        type: string
      isDir:
        type: boolean
      isLink:
        type: boolean
      isSymlink:
        type: boolean
      linkPath:
        type: string
      mode:
        type: integer
      path:
        type: string
    required:
    - mode
    - path
    type: object
  request.FileDeCompress:
    properties:
      dst:
        type: string
      path:
        type: string
      type:
        type: string
    required:
    - dst
    - path
    - type
    type: object
  request.FileDelete:
    properties:
      isDir:
        type: boolean
      path:
        type: string
    required:
    - path
    type: object
  request.FileDownload:
    properties:
      compress:
        type: boolean
      name:
        type: string
      paths:
        items:
          type: string
        type: array
      type:
        type: string
    required:
    - compress
    - name
    - paths
    - type
    type: object
  request.FileEdit:
    properties:
      content:
        type: string
      path:
        type: string
    required:
    - content
    - path
    type: object
  request.FileMove:
    properties:
      newPath:
        type: string
      oldPaths:
        items:
          type: string
        type: array
      type:
        type: string
    required:
    - newPath
    - oldPaths
    - type
    type: object
  request.FileOption:
    properties:
      containSub:
        type: boolean
      dir:
        type: boolean
      expand:
        type: boolean
      page:
        type: integer
      pageSize:
        type: integer
      path:
        type: string
      search:
        type: string
      showHidden:
        type: boolean
    type: object
  request.FilePathCheck:
    properties:
      path:
        type: string
    required:
    - path
    type: object
  request.FileRename:
    properties:
      newName:
        type: string
      oldName:
        type: string
    required:
    - newName
    - oldName
    type: object
  request.FileWget:
    properties:
      name:
        type: string
      path:
        type: string
      url:
        type: string
    required:
    - name
    - path
    - url
    type: object
  request.NewAppInstall:
    properties:
      appDetailID:
        type: integer
      name:
        type: string
      params:
        additionalProperties: true
        type: object
    type: object
  request.NginxConfigFileUpdate:
    properties:
      backup:
        type: boolean
      content:
        type: string
      filePath:
        type: string
    required:
    - backup
    - content
    - filePath
    type: object
  request.NginxConfigUpdate:
    properties:
      operate:
        type: string
      params: {}
      scope:
        $ref: '#/definitions/dto.NginxKey'
      websiteId:
        type: integer
    required:
    - websiteId
    type: object
  request.NginxScopeReq:
    properties:
      scope:
        $ref: '#/definitions/dto.NginxKey'
      websiteId:
        type: integer
    required:
    - scope
    type: object
  request.PortUpdate:
    properties:
      key:
        type: string
      name:
        type: string
      port:
        type: integer
    type: object
  request.SearchUploadWithPage:
    properties:
      page:
        type: integer
      pageSize:
        type: integer
      path:
        type: string
    required:
    - page
    - pageSize
    - path
    type: object
  request.WebsiteAcmeAccountCreate:
    properties:
      email:
        type: string
    required:
    - email
    type: object
  request.WebsiteCreate:
    properties:
      alias:
        type: string
      appID:
        type: integer
      appInstall:
        $ref: '#/definitions/request.NewAppInstall'
      appInstallID:
        type: integer
      appType:
        enum:
        - new
        - installed
        type: string
      otherDomains:
        type: string
      primaryDomain:
        type: string
      proxy:
        type: string
      remark:
        type: string
      type:
        type: string
      webSiteGroupID:
        type: integer
    required:
    - alias
    - primaryDomain
    - type
    - webSiteGroupID
    type: object
  request.WebsiteDNSReq:
    properties:
      acmeAccountId:
        type: integer
      domains:
        items:
          type: string
        type: array
    required:
    - acmeAccountId
    - domains
    type: object
  request.WebsiteDefaultUpdate:
    properties:
      id:
        type: integer
    required:
    - id
    type: object
  request.WebsiteDelete:
    properties:
      deleteApp:
        type: boolean
      deleteBackup:
        type: boolean
      forceDelete:
        type: boolean
      id:
        type: integer
    required:
    - id
    type: object
  request.WebsiteDnsAccountCreate:
    properties:
      authorization:
        additionalProperties:
          type: string
        type: object
      name:
        type: string
      type:
        type: string
    required:
    - authorization
    - name
    - type
    type: object
  request.WebsiteDnsAccountUpdate:
    properties:
      authorization:
        additionalProperties:
          type: string
        type: object
      id:
        type: integer
      name:
        type: string
      type:
        type: string
    required:
    - authorization
    - id
    - name
    - type
    type: object
  request.WebsiteDomainCreate:
    properties:
      domain:
        type: string
      port:
        type: integer
      websiteId:
        type: integer
    required:
    - domain
    - port
    - websiteId
    type: object
  request.WebsiteDomainDelete:
    properties:
      id:
        type: integer
    required:
    - id
    type: object
  request.WebsiteGroupCreate:
    properties:
      name:
        type: string
    required:
    - name
    type: object
  request.WebsiteGroupUpdate:
    properties:
      default:
        type: boolean
      id:
        type: integer
      name:
        type: string
    required:
    - id
    type: object
  request.WebsiteHTTPSOp:
    properties:
      HttpConfig:
        enum:
        - HTTPSOnly
        - HTTPAlso
        - HTTPToHTTPS
        type: string
      SSLProtocol:
        items:
          type: string
        type: array
      algorithm:
        type: string
      certificate:
        type: string
      enable:
        type: boolean
      privateKey:
        type: string
      type:
        enum:
        - existed
        - auto
        - manual
        type: string
      websiteId:
        type: integer
      websiteSSLId:
        type: integer
    required:
    - enable
    - websiteId
    type: object
  request.WebsiteInstallCheckReq:
    properties:
      InstallIds:
        items:
          type: integer
        type: array
    required:
    - InstallIds
    type: object
  request.WebsiteLogReq:
    properties:
      id:
        type: integer
      logType:
        type: string
      operate:
        type: string
    required:
    - id
    - logType
    - operate
    type: object
  request.WebsiteNginxUpdate:
    properties:
      content:
        type: string
      id:
        type: integer
    required:
    - content
    - id
    type: object
  request.WebsiteOp:
    properties:
      id:
        type: integer
      operate:
        type: string
    required:
    - id
    type: object
  request.WebsiteResourceReq:
    properties:
      id:
        type: integer
    required:
    - id
    type: object
  request.WebsiteSSLCreate:
    properties:
      acmeAccountId:
        type: integer
      autoRenew:
        type: boolean
      dnsAccountId:
        type: integer
      otherDomains:
        type: string
      primaryDomain:
        type: string
      provider:
        type: string
    required:
    - acmeAccountId
    - autoRenew
    - primaryDomain
    - provider
    type: object
  request.WebsiteSSLRenew:
    properties:
      SSLId:
        type: integer
    required:
    - SSLId
    type: object
  request.WebsiteSSLSearch:
    properties:
      page:
        type: integer
      pageSize:
        type: integer
    required:
    - page
    - pageSize
    type: object
  request.WebsiteSSLUpdate:
    properties:
      autoRenew:
        type: boolean
      id:
        type: integer
    required:
    - autoRenew
    - id
    type: object
  request.WebsiteSearch:
    properties:
      name:
        type: string
      page:
        type: integer
      pageSize:
        type: integer
      websiteGroupId:
        type: integer
    required:
    - page
    - pageSize
    type: object
  request.WebsiteUpdate:
    properties:
      expireDate:
        type: string
      id:
        type: integer
      primaryDomain:
        type: string
      remark:
        type: string
      webSiteGroupID:
        type: integer
    required:
    - id
    - primaryDomain
    - webSiteGroupID
    type: object
  request.WebsiteWafReq:
    properties:
      key:
        type: string
      rule:
        type: string
      websiteId:
        type: integer
    required:
    - key
    - rule
    - websiteId
    type: object
  request.WebsiteWafUpdate:
    properties:
      enable:
        type: boolean
      key:
        type: string
      websiteId:
        type: integer
    required:
    - enable
    - key
    - websiteId
    type: object
  response.AppDTO:
    properties:
      createdAt:
        type: string
      crossVersionUpdate:
        type: boolean
      document:
        type: string
      github:
        type: string
      icon:
        type: string
      id:
        type: integer
      key:
        type: string
      limit:
        type: integer
      name:
        type: string
      recommend:
        type: integer
      required:
        type: string
      shortDescEn:
        type: string
      shortDescZh:
        type: string
      status:
        type: string
      tags:
        items:
          $ref: '#/definitions/model.Tag'
        type: array
      type:
        type: string
      updatedAt:
        type: string
      versions:
        items:
          type: string
        type: array
      website:
        type: string
    type: object
  response.AppDetailDTO:
    properties:
      appId:
        type: integer
      createdAt:
        type: string
      enable:
        type: boolean
      id:
        type: integer
      lastVersion:
        type: string
      params: {}
      readme:
        type: string
      status:
        type: string
      updatedAt:
        type: string
      version:
        type: string
    type: object
  response.AppInstalledCheck:
    properties:
      app:
        type: string
      appInstallId:
        type: integer
      containerName:
        type: string
      createdAt:
        type: string
      installPath:
        type: string
      isExist:
        type: boolean
      lastBackupAt:
        type: string
      name:
        type: string
      status:
        type: string
      version:
        type: string
    type: object
  response.AppParam:
    properties:
      edit:
        type: boolean
      key:
        type: string
      labelEn:
        type: string
      labelZh:
        type: string
      rule:
        type: string
      type:
        type: string
      value: {}
    type: object
  response.FileInfo:
    properties:
      content:
        type: string
      extension:
        type: string
      group:
        type: string
      isDir:
        type: boolean
      isHidden:
        type: boolean
      isSymlink:
        type: boolean
      itemTotal:
        type: integer
      items:
        items:
          $ref: '#/definitions/files.FileInfo'
        type: array
      linkPath:
        type: string
      mimeType:
        type: string
      modTime:
        type: string
      mode:
        type: string
      name:
        type: string
      path:
        type: string
      size:
        type: integer
      type:
        type: string
      updateTime:
        type: string
      user:
        type: string
    type: object
  response.NginxParam:
    properties:
      name:
        type: string
      params:
        items:
          type: string
        type: array
    type: object
  response.NginxStatus:
    properties:
      accepts:
        type: string
      active:
        type: string
      handled:
        type: string
      reading:
        type: string
      requests:
        type: string
      waiting:
        type: string
      writing:
        type: string
    type: object
  response.WebsiteAcmeAccountDTO:
    properties:
      createdAt:
        type: string
      email:
        type: string
      id:
        type: integer
      updatedAt:
        type: string
      url:
        type: string
    type: object
  response.WebsiteDTO:
    properties:
      accessLog:
        type: boolean
      accessLogPath:
        type: string
      alias:
        type: string
      appInstallId:
        type: integer
      appName:
        type: string
      createdAt:
        type: string
      defaultServer:
        type: boolean
      domains:
        items:
          $ref: '#/definitions/model.WebsiteDomain'
        type: array
      errorLog:
        type: boolean
      errorLogPath:
        type: string
      expireDate:
        type: string
      httpConfig:
        type: string
      id:
        type: integer
      primaryDomain:
        type: string
      protocol:
        type: string
      proxy:
        type: string
      remark:
        type: string
      sitePath:
        type: string
      status:
        type: string
      type:
        type: string
      updatedAt:
        type: string
      webSiteGroupId:
        type: integer
      webSiteSSL:
        $ref: '#/definitions/model.WebsiteSSL'
      webSiteSSLId:
        type: integer
    type: object
  response.WebsiteHTTPS:
    properties:
      SSL:
        $ref: '#/definitions/model.WebsiteSSL'
      SSLProtocol:
        items:
          type: string
        type: array
      algorithm:
        type: string
      enable:
        type: boolean
      httpConfig:
        type: string
    type: object
  response.WebsiteLog:
    properties:
      content:
        type: string
      enable:
        type: boolean
    type: object
  response.WebsiteNginxConfig:
    properties:
      enable:
        type: boolean
      params:
        items:
          $ref: '#/definitions/response.NginxParam'
        type: array
    type: object
  response.WebsiteWafConfig:
    properties:
      content:
        type: string
      enable:
        type: boolean
      filePath:
        type: string
    type: object
host: localhost
info:
  contact: {}
  description: 开源Linux面板
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: http://swagger.io/terms/
  title: 1Panel
  version: "1.0"
paths:
  /apps/:key:
    get:
      consumes:
      - application/json
      description: 通过 key 获取应用信息
      parameters:
      - description: app key
        in: path
        name: key
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.AppDTO'
      security:
      - ApiKeyAuth: []
      summary: Search app by key
      tags:
      - App
  /apps/checkupdate:
    get:
      description: 获取应用更新版本
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Get app list update
      tags:
      - App
  /apps/detail/:appId/:version:
    get:
      consumes:
      - application/json
      description: 通过 id 获取应用详情
      parameters:
      - description: app id
        in: path
        name: appId
        required: true
        type: integer
      - description: app 版本
        in: path
        name: version
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.AppDetailDTO'
      security:
      - ApiKeyAuth: []
      summary: Search app detail by id
      tags:
      - App
  /apps/install:
    post:
      consumes:
      - application/json
      description: 安装应用
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.AppInstallCreate'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/model.AppInstall'
      security:
      - ApiKeyAuth: []
      summary: Install app
      tags:
      - App
      x-panel-log:
        BeforeFuntions:
        - db: app_installs
          input_colume: name
          input_value: name
          isList: false
          output_colume: app_id
          output_value: appId
        - db: apps
          info: appId
          isList: false
          output_colume: key
          output_value: appKey
        bodyKeys:
        - name
        formatEN: Install app [appKey]-[name]
        formatZH: 安装应用 [appKey]-[name]
        paramKeys: []
  /apps/installed/:appInstallId/versions:
    get:
      consumes:
      - application/json
      description: 通过 install id 获取应用更新版本
      parameters:
      - description: request
        in: path
        name: appInstallId
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Search app update version by install id
      tags:
      - App
  /apps/installed/check/:key:
    get:
      consumes:
      - application/json
      description: 检查应用安装情况
      parameters:
      - description: request
        in: path
        name: key
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.AppInstalledCheck'
      security:
      - ApiKeyAuth: []
      summary: Check app installed
      tags:
      - App
  /apps/installed/conf/:key:
    get:
      consumes:
      - application/json
      description: 通过 key 获取应用默认配置
      parameters:
      - description: request
        in: path
        name: key
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Search default config by key
      tags:
      - App
  /apps/installed/delete/check/:appInstallId:
    get:
      consumes:
      - application/json
      description: 删除前检查
      parameters:
      - description: App install id
        in: path
        name: appInstallId
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Check before delete
      tags:
      - App
  /apps/installed/loadpassword/:key:
    get:
      consumes:
      - application/json
      description: 获取应用密码
      parameters:
      - description: request
        in: path
        name: key
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Search app password by key
      tags:
      - App
  /apps/installed/loadport/:key:
    get:
      consumes:
      - application/json
      description: 获取应用端口
      parameters:
      - description: request
        in: path
        name: key
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            type: integer
      security:
      - ApiKeyAuth: []
      summary: Search app port by key
      tags:
      - App
  /apps/installed/op:
    post:
      consumes:
      - application/json
      description: 操作已安装应用
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.AppInstalledOperate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Operate installed app
      tags:
      - App
      x-panel-log:
        BeforeFuntions:
        - db: app_installs
          input_colume: id
          input_value: installId
          isList: false
          output_colume: app_id
          output_value: appId
        - db: app_installs
          input_colume: id
          input_value: installId
          isList: false
          output_colume: name
          output_value: appName
        - db: apps
          input_colume: id
          input_value: appId
          isList: false
          output_colume: key
          output_value: appKey
        bodyKeys:
        - installId
        - operate
        formatEN: '[appKey] App [appName] [operate]'
        formatZH: '[appKey] 应用 [appName] [operate]'
        paramKeys: []
  /apps/installed/params/:appInstallId:
    get:
      consumes:
      - application/json
      description: 通过 install id 获取应用参数
      parameters:
      - description: request
        in: path
        name: appInstallId
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.AppParam'
      security:
      - ApiKeyAuth: []
      summary: Search params by appInstallId
      tags:
      - App
  /apps/installed/params/update:
    post:
      consumes:
      - application/json
      description: 修改应用参数
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.AppInstalledUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Change app params
      tags:
      - App
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - installId
        formatEN: Application param update [installId]
        formatZH: 应用参数修改 [installId]
        paramKeys: []
  /apps/installed/port/change:
    post:
      consumes:
      - application/json
      description: 修改应用端口
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.PortUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Change app port
      tags:
      - App
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - key
        - name
        - port
        formatEN: Application port update [key]-[name] => [port]
        formatZH: 应用端口修改 [key]-[name] => [port]
        paramKeys: []
  /apps/installed/search:
    post:
      consumes:
      - application/json
      description: 获取已安装应用列表
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.AppInstalledSearch'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: List app installed
      tags:
      - App
  /apps/installed/sync:
    post:
      description: 同步已安装应用列表
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Sync app installed
      tags:
      - App
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: Sync the list of installed apps
        formatZH: 同步已安装应用列表
        paramKeys: []
  /apps/search:
    post:
      consumes:
      - application/json
      description: 获取应用列表
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.AppSearch'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: List apps
      tags:
      - App
  /apps/services/:key:
    get:
      consumes:
      - application/json
      description: 通过 key 获取应用 service
      parameters:
      - description: request
        in: path
        name: key
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Search app service by key
      tags:
      - App
  /apps/sync:
    post:
      description: 同步应用列表
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Sync app list
      tags:
      - App
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: App store synchronization
        formatZH: 应用商店同步
        paramKeys: []
  /auth/captcha:
    get:
      description: 加载验证码
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.CaptchaResponse'
      summary: Load captcha
      tags:
      - Auth
  /auth/demo:
    get:
      description: 判断是否为demo环境
      responses:
        "200":
          description: OK
      summary: Check System isDemo
      tags:
      - Auth
  /auth/init:
    post:
      consumes:
      - application/json
      description: 初始化用户
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.InitUser'
      responses:
        "200":
          description: OK
      summary: Init user
      tags:
      - Auth
  /auth/login:
    post:
      consumes:
      - application/json
      description: 用户登录
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.Login'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.UserLoginInfo'
      summary: User login
      tags:
      - Auth
  /auth/logout:
    post:
      description: 用户登出
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: User logout
      tags:
      - Auth
  /auth/mfalogin:
    post:
      consumes:
      - application/json
      description: 用户 mfa 登录
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.MFALogin'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.UserLoginInfo'
      summary: User login with mfa
      tags:
      - Auth
  /auth/status:
    get:
      description: 判断是否为首次登录
      responses:
        "200":
          description: OK
      summary: Check is First login
      tags:
      - Auth
  /containers:
    post:
      consumes:
      - application/json
      description: 创建容器
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ContainerCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create container
      tags:
      - Container
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        - image
        formatEN: create container [name][image]
        formatZH: 创建容器 [name][image]
        paramKeys: []
  /containers/compose:
    post:
      consumes:
      - application/json
      description: 创建容器编排
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ComposeCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create compose
      tags:
      - Container Compose
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: create compose [name]
        formatZH: 创建 compose [name]
        paramKeys: []
  /containers/compose/operate:
    post:
      consumes:
      - application/json
      description: 容器编排操作
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ComposeOperation'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Operate compose
      tags:
      - Container Compose
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        - operation
        formatEN: compose [operation] [name]
        formatZH: compose [operation] [name]
        paramKeys: []
  /containers/compose/search:
    post:
      consumes:
      - application/json
      description: 获取编排列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchWithPage'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page composes
      tags:
      - Container Compose
  /containers/compose/test:
    post:
      consumes:
      - application/json
      description: 测试 compose 是否可用
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ComposeCreate'
      responses:
        "200":
          description: ""
      security:
      - ApiKeyAuth: []
      summary: Test compose
      tags:
      - Container Compose
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: create compose [name]
        formatZH: 创建 compose [name]
        paramKeys: []
  /containers/compose/update:
    post:
      consumes:
      - application/json
      description: 更新容器编排
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ComposeUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update compose
      tags:
      - Container Compose
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: update compose information [name]
        formatZH: 更新 compose [name]
        paramKeys: []
  /containers/daemonjson:
    get:
      description: 获取 docker 配置信息
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.DaemonJsonConf'
      security:
      - ApiKeyAuth: []
      summary: Load docker daemon.json
      tags:
      - Container Docker
  /containers/daemonjson/file:
    get:
      description: 获取 docker 配置信息(表单)
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Load docker daemon.json
      tags:
      - Container Docker
  /containers/daemonjson/update:
    post:
      consumes:
      - application/json
      description: 修改 docker 配置信息
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.DaemonJsonConf'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update docker daemon.json
      tags:
      - Container Docker
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: Updated the docker daemon.json configuration
        formatZH: 更新 docker daemon.json 配置
        paramKeys: []
  /containers/daemonjson/update/byfile:
    post:
      consumes:
      - application/json
      description: 上传替换 docker 配置文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.DaemonJsonUpdateByFile'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update docker daemon.json by upload file
      tags:
      - Container Docker
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: Updated the docker daemon.json configuration
        formatZH: 更新 docker daemon.json 配置
        paramKeys: []
  /containers/docker/operate:
    post:
      consumes:
      - application/json
      description: Docker 操作
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.DockerOperation'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Operate docker
      tags:
      - Container Docker
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - operation
        formatEN: '[operation] docker service'
        formatZH: docker 服务 [operation]
        paramKeys: []
  /containers/docker/status:
    get:
      description: 获取 docker 服务状态
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Load docker status
      tags:
      - Container Docker
  /containers/image:
    get:
      description: 获取镜像列表
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List images
      tags:
      - Container Image
  /containers/image/build:
    post:
      consumes:
      - application/json
      description: 构建镜像
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ImageBuild'
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Build image
      tags:
      - Container Image
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: build image [name]
        formatZH: 构建镜像 [name]
        paramKeys: []
  /containers/image/load:
    post:
      consumes:
      - application/json
      description: 导入镜像
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ImageLoad'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Load image
      tags:
      - Container Image
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: load image from [path]
        formatZH: 从 [path] 加载镜像
        paramKeys: []
  /containers/image/pull:
    post:
      consumes:
      - application/json
      description: 拉取镜像
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ImagePull'
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Pull image
      tags:
      - Container Image
      x-panel-log:
        BeforeFuntions:
        - db: image_repos
          input_colume: id
          input_value: repoID
          isList: false
          output_colume: name
          output_value: reponame
        bodyKeys:
        - repoID
        - imageName
        formatEN: image pull [reponame][imageName]
        formatZH: 镜像拉取 [reponame][imageName]
        paramKeys: []
  /containers/image/push:
    post:
      consumes:
      - application/json
      description: 推送镜像
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ImagePush'
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Push image
      tags:
      - Container Image
      x-panel-log:
        BeforeFuntions:
        - db: image_repos
          input_colume: id
          input_value: repoID
          isList: false
          output_colume: name
          output_value: reponame
        bodyKeys:
        - repoID
        - tagName
        - name
        formatEN: push [tagName] to [reponame][name]
        formatZH: '[tagName] 推送到 [reponame][name]'
        paramKeys: []
  /containers/image/remove:
    post:
      consumes:
      - application/json
      description: 删除镜像
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BatchDelete'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete image
      tags:
      - Container Image
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - names
        formatEN: remove image [names]
        formatZH: 移除镜像 [names]
        paramKeys: []
  /containers/image/save:
    post:
      consumes:
      - application/json
      description: 导出镜像
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ImageSave'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Save image
      tags:
      - Container Image
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - tagName
        - path
        - name
        formatEN: save [tagName] as [path]/[name]
        formatZH: 保留 [tagName] 为 [path]/[name]
        paramKeys: []
  /containers/image/search:
    post:
      consumes:
      - application/json
      description: 获取镜像列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchWithPage'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page images
      tags:
      - Container Image
  /containers/image/tag:
    post:
      consumes:
      - application/json
      description: Tag 镜像
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ImageTag'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Tag image
      tags:
      - Container Image
      x-panel-log:
        BeforeFuntions:
        - db: image_repos
          input_colume: id
          input_value: repoID
          isList: false
          output_colume: name
          output_value: reponame
        bodyKeys:
        - repoID
        - targetName
        formatEN: tag image [reponame][targetName]
        formatZH: tag 镜像 [reponame][targetName]
        paramKeys: []
  /containers/inspect:
    post:
      consumes:
      - application/json
      description: 容器详情
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.InspectReq'
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Container inspect
      tags:
      - Container
  /containers/network:
    post:
      consumes:
      - application/json
      description: 创建容器网络
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.NetworkCreat'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create network
      tags:
      - Container Network
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: create container network [name]
        formatZH: 创建容器网络 name
        paramKeys: []
  /containers/network/del:
    post:
      consumes:
      - application/json
      description: 删除容器网络
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BatchDelete'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete network
      tags:
      - Container Network
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - names
        formatEN: delete container network [names]
        formatZH: 删除容器网络 [names]
        paramKeys: []
  /containers/network/search:
    post:
      consumes:
      - application/json
      description: 获取容器网络列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchWithPage'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page networks
      tags:
      - Container Network
  /containers/operate:
    post:
      consumes:
      - application/json
      description: 容器操作
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ContainerOperation'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Operate Container
      tags:
      - Container
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        - operation
        - newName
        formatEN: container [operation] [name] [newName]
        formatZH: 容器 [name] 执行 [operation] [newName]
        paramKeys: []
  /containers/repo:
    get:
      description: 获取镜像仓库列表
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List image repos
      tags:
      - Container Image-repo
    post:
      consumes:
      - application/json
      description: 创建镜像仓库
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ImageRepoDelete'
      produces:
      - application/json
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create image repo
      tags:
      - Container Image-repo
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: create image repo [name]
        formatZH: 创建镜像仓库 [name]
        paramKeys: []
  /containers/repo/del:
    post:
      consumes:
      - application/json
      description: 删除镜像仓库
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ImageRepoDelete'
      produces:
      - application/json
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete image repo
      tags:
      - Container Image-repo
      x-panel-log:
        BeforeFuntions:
        - db: image_repos
          input_colume: id
          input_value: ids
          isList: true
          output_colume: name
          output_value: names
        bodyKeys:
        - ids
        formatEN: delete image repo [names]
        formatZH: 删除镜像仓库 [names]
        paramKeys: []
  /containers/repo/search:
    post:
      consumes:
      - application/json
      description: 获取镜像仓库列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchWithPage'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page image repos
      tags:
      - Container Image-repo
  /containers/repo/status:
    get:
      consumes:
      - application/json
      description: 获取 docker 仓库状态
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.OperateByID'
      produces:
      - application/json
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Load repo status
      tags:
      - Container Image-repo
  /containers/repo/update:
    post:
      consumes:
      - application/json
      description: 更新镜像仓库
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ImageRepoUpdate'
      produces:
      - application/json
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update image repo
      tags:
      - Container Image-repo
      x-panel-log:
        BeforeFuntions:
        - db: image_repos
          input_column: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: update image repo information [name]
        formatZH: 更新镜像仓库 [name]
        paramKeys: []
  /containers/search:
    post:
      consumes:
      - application/json
      description: 获取容器列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.PageContainer'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page containers
      tags:
      - Container
  /containers/search/log:
    post:
      consumes:
      - application/json
      description: 容器日志
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ContainerLog'
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Container logs
      tags:
      - Container
  /containers/stats/:id:
    get:
      description: 容器监控信息
      parameters:
      - description: 容器id
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ContainterStats'
      security:
      - ApiKeyAuth: []
      summary: Container stats
      tags:
      - Container
  /containers/template:
    get:
      description: 获取容器编排模版列表
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List compose templates
      tags:
      - Container Compose-template
    post:
      consumes:
      - application/json
      description: 创建容器编排模版
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ComposeTemplateCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create compose template
      tags:
      - Container Compose-template
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: create compose template [name]
        formatZH: 创建 compose 模版 [name]
        paramKeys: []
  /containers/template/del:
    post:
      consumes:
      - application/json
      description: 删除容器编排模版
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BatchDelete'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete compose template
      tags:
      - Container Compose-template
      x-panel-log:
        BeforeFuntions:
        - db: compose_templates
          input_colume: id
          input_value: ids
          isList: true
          output_colume: name
          output_value: names
        bodyKeys:
        - ids
        formatEN: delete compose template [names]
        formatZH: 删除 compose 模版 [names]
        paramKeys: []
  /containers/template/search:
    post:
      consumes:
      - application/json
      description: 获取容器编排模版列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchWithPage'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page compose templates
      tags:
      - Container Compose-template
  /containers/template/update:
    post:
      consumes:
      - application/json
      description: 更新容器编排模版
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ComposeTemplateUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update compose template
      tags:
      - Container Compose-template
      x-panel-log:
        BeforeFuntions:
        - db: compose_templates
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: update compose template information [name]
        formatZH: 更新 compose 模版 [name]
        paramKeys: []
  /containers/volume:
    post:
      consumes:
      - application/json
      description: 创建容器存储卷
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.VolumeCreat'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create volume
      tags:
      - Container Volume
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: create container volume [name]
        formatZH: 创建容器存储卷 [name]
        paramKeys: []
  /containers/volume/del:
    post:
      consumes:
      - application/json
      description: 删除容器存储卷
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BatchDelete'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete volume
      tags:
      - Container Volume
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - names
        formatEN: delete container volume [names]
        formatZH: 删除容器存储卷 [names]
        paramKeys: []
  /containers/volume/search:
    get:
      consumes:
      - application/json
      description: 获取容器存储卷列表
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.PageInfo'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: List volumes
      tags:
      - Container Volume
    post:
      consumes:
      - application/json
      description: 获取容器存储卷分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchWithPage'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page volumes
      tags:
      - Container Volume
  /cronjobs:
    post:
      consumes:
      - application/json
      description: 创建计划任务
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.CronjobCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create cronjob
      tags:
      - Cronjob
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - type
        - name
        formatEN: create cronjob [type][name]
        formatZH: 创建计划任务 [type][name]
        paramKeys: []
  /cronjobs/del:
    post:
      consumes:
      - application/json
      description: 删除计划任务
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BatchDeleteReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete cronjob
      tags:
      - Cronjob
      x-panel-log:
        BeforeFuntions:
        - db: cronjobs
          input_colume: id
          input_value: ids
          isList: true
          output_colume: name
          output_value: names
        bodyKeys:
        - ids
        formatEN: delete cronjob [names]
        formatZH: 删除计划任务 [names]
        paramKeys: []
  /cronjobs/download:
    post:
      consumes:
      - application/json
      description: 下载计划任务记录
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.CronjobDownload'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Download cronjob records
      tags:
      - Cronjob
      x-panel-log:
        BeforeFuntions:
        - db: job_records
          input_colume: id
          input_value: recordID
          isList: false
          output_colume: file
          output_value: file
        bodyKeys:
        - recordID
        formatEN: download the cronjob record [file]
        formatZH: 下载计划任务记录 [file]
        paramKeys: []
  /cronjobs/handle:
    post:
      consumes:
      - application/json
      description: 手动执行计划任务
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.OperateByID'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Handle cronjob once
      tags:
      - Cronjob
      x-panel-log:
        BeforeFuntions:
        - db: cronjobs
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: manually execute the cronjob [name]
        formatZH: 手动执行计划任务 [name]
        paramKeys: []
  /cronjobs/search:
    post:
      consumes:
      - application/json
      description: 获取计划任务分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchWithPage'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page cronjobs
      tags:
      - Cronjob
  /cronjobs/search/records:
    post:
      consumes:
      - application/json
      description: 获取计划任务记录
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchRecord'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page job records
      tags:
      - Cronjob
  /cronjobs/status:
    post:
      consumes:
      - application/json
      description: 更新计划任务状态
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.CronjobUpdateStatus'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update cronjob status
      tags:
      - Cronjob
      x-panel-log:
        BeforeFuntions:
        - db: cronjobs
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        - status
        formatEN: change the status of cronjob [name] to [status].
        formatZH: 修改计划任务 [name] 状态为 [status]
        paramKeys: []
  /cronjobs/update:
    post:
      consumes:
      - application/json
      description: 更新计划任务
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.CronjobUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update cronjob
      tags:
      - Cronjob
      x-panel-log:
        BeforeFuntions:
        - db: cronjobs
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: update cronjob [name]
        formatZH: 更新计划任务 [name]
        paramKeys: []
  /dashboard/base/:ioOption/:netOption:
    get:
      consumes:
      - application/json
      description: 获取首页基础数据
      parameters:
      - description: request
        in: path
        name: ioOption
        required: true
        type: string
      - description: request
        in: path
        name: netOption
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.DashboardBase'
      security:
      - ApiKeyAuth: []
      summary: Load dashboard base info
      tags:
      - Dashboard
  /dashboard/current/:ioOption/:netOption:
    get:
      consumes:
      - application/json
      description: 获取首页实时数据
      parameters:
      - description: request
        in: path
        name: ioOption
        required: true
        type: string
      - description: request
        in: path
        name: netOption
        required: true
        type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.DashboardCurrent'
      security:
      - ApiKeyAuth: []
      summary: Load dashboard current info
      tags:
      - Dashboard
  /databases:
    post:
      consumes:
      - application/json
      description: 创建 mysql 数据库
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.MysqlDBCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create mysql database
      tags:
      - Database Mysql
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: create mysql database [name]
        formatZH: 创建 mysql 数据库 [name]
        paramKeys: []
  /databases/baseinfo:
    get:
      description: 获取 mysql 基础信息
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.DBBaseInfo'
      security:
      - ApiKeyAuth: []
      summary: Load mysql base info
      tags:
      - Database Mysql
  /databases/change/access:
    post:
      consumes:
      - application/json
      description: 修改 mysql 访问权限
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ChangeDBInfo'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Change mysql access
      tags:
      - Database Mysql
      x-panel-log:
        BeforeFuntions:
        - db: database_mysqls
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: Update database [name] access
        formatZH: 更新数据库 [name] 访问权限
        paramKeys: []
  /databases/change/password:
    post:
      consumes:
      - application/json
      description: 修改 mysql 密码
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ChangeDBInfo'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Change mysql password
      tags:
      - Database Mysql
      x-panel-log:
        BeforeFuntions:
        - db: database_mysqls
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: Update database [name] password
        formatZH: 更新数据库 [name] 密码
        paramKeys: []
  /databases/conffile/update:
    post:
      consumes:
      - application/json
      description: 上传替换 mysql 配置文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.MysqlConfUpdateByFile'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update mysql conf by upload file
      tags:
      - Database Mysql
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: update the mysql database configuration information
        formatZH: 更新 mysql 数据库配置信息
        paramKeys: []
  /databases/del:
    post:
      consumes:
      - application/json
      description: 删除 mysql 数据库
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.MysqlDBDelete'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete mysql database
      tags:
      - Database Mysql
      x-panel-log:
        BeforeFuntions:
        - db: database_mysqls
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: delete mysql database [name]
        formatZH: 删除 mysql 数据库 [name]
        paramKeys: []
  /databases/del/check:
    post:
      consumes:
      - application/json
      description: Mysql 数据库删除前检查
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.OperateByID'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Check before delete mysql database
      tags:
      - Database Mysql
  /databases/description/update:
    post:
      consumes:
      - application/json
      description: 更新 mysql 数据库库描述信息
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.UpdateDescription'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update mysql database description
      tags:
      - Database Mysql
      x-panel-log:
        BeforeFuntions:
        - db: database_mysqls
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        - description
        formatEN: The description of the mysql database [name] is modified => [description]
        formatZH: mysql 数据库 [name] 描述信息修改 [description]
        paramKeys: []
  /databases/options:
    get:
      consumes:
      - application/json
      description: 获取 mysql 数据库列表
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.PageInfo'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List mysql database names
      tags:
      - Database Mysql
  /databases/redis/backup/search:
    post:
      consumes:
      - application/json
      description: 获取 redis 备份记录分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.PageInfo'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page redis backups
      tags:
      - Database Redis
  /databases/redis/conf:
    get:
      description: 获取 redis 配置信息
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.RedisConf'
      security:
      - ApiKeyAuth: []
      summary: Load redis conf
      tags:
      - Database Redis
  /databases/redis/conf/update:
    post:
      consumes:
      - application/json
      description: 更新 redis 配置信息
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.RedisConfUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update redis conf
      tags:
      - Database Redis
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: update the redis database configuration information
        formatZH: 更新 redis 数据库配置信息
        paramKeys: []
  /databases/redis/conffile/update:
    post:
      consumes:
      - application/json
      description: 上传更新 redis 配置信息
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.RedisConfUpdateByFile'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update redis conf by file
      tags:
      - Database Redis
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: update the redis database configuration information
        formatZH: 更新 redis 数据库配置信息
        paramKeys: []
  /databases/redis/password:
    post:
      consumes:
      - application/json
      description: 更新 redis 密码
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ChangeDBInfo'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Change redis password
      tags:
      - Database Redis
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: change the password of the redis database
        formatZH: 修改 redis 数据库密码
        paramKeys: []
  /databases/redis/persistence/conf:
    get:
      description: 获取 redis 持久化配置
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.RedisPersistence'
      security:
      - ApiKeyAuth: []
      summary: Load redis persistence conf
      tags:
      - Database Redis
  /databases/redis/persistence/update:
    post:
      consumes:
      - application/json
      description: 更新 redis 持久化配置
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.RedisConfPersistenceUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update redis persistence conf
      tags:
      - Database Redis
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: redis database persistence configuration update
        formatZH: redis 数据库持久化配置更新
        paramKeys: []
  /databases/redis/status:
    get:
      description: 获取 redis 状态信息
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.RedisStatus'
      security:
      - ApiKeyAuth: []
      summary: Load redis status info
      tags:
      - Database Redis
  /databases/remote:
    get:
      description: 获取 mysql 远程访问权限
      responses:
        "200":
          description: OK
          schema:
            type: boolean
      security:
      - ApiKeyAuth: []
      summary: Load mysql remote access
      tags:
      - Database Mysql
  /databases/search:
    post:
      consumes:
      - application/json
      description: 获取 mysql 数据库列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchWithPage'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page mysql databases
      tags:
      - Database Mysql
  /databases/status:
    get:
      description: 获取 mysql 状态信息
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.MysqlStatus'
      security:
      - ApiKeyAuth: []
      summary: Load mysql status info
      tags:
      - Database Mysql
  /databases/variables:
    get:
      description: 获取 mysql 性能参数信息
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.MysqlVariables'
      security:
      - ApiKeyAuth: []
      summary: Load mysql variables info
      tags:
      - Database Mysql
  /databases/variables/update:
    post:
      consumes:
      - application/json
      description: mysql 性能调优
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.MysqlVariablesUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update mysql variables
      tags:
      - Database Mysql
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: adjust mysql database performance parameters
        formatZH: 调整 mysql 数据库性能参数
        paramKeys: []
  /files:
    post:
      consumes:
      - application/json
      description: 创建文件/文件夹
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Create dir or file [path]
        formatZH: 创建文件/文件夹 [path]
        paramKeys: []
  /files/batch/del:
    post:
      consumes:
      - application/json
      description: 批量删除文件/文件夹
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileBatchDelete'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Batch delete file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - paths
        formatEN: Batch delete dir or file [paths]
        formatZH: 批量删除文件/文件夹 [paths]
        paramKeys: []
  /files/check:
    post:
      consumes:
      - application/json
      description: 检测文件是否存在
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FilePathCheck'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Check file exist
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Check whether file [path] exists
        formatZH: 检测文件 [path] 是否存在
        paramKeys: []
  /files/chunkupload:
    post:
      description: 分片上传文件
      parameters:
      - description: request
        in: formData
        name: file
        required: true
        type: file
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: ChunkUpload file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Upload file [path]
        formatZH: 上传文件 [path]
        paramKeys: []
  /files/compress:
    post:
      consumes:
      - application/json
      description: 压缩文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileCompress'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Compress file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: Compress file [name]
        formatZH: 压缩文件 [name]
        paramKeys: []
  /files/content:
    post:
      consumes:
      - application/json
      description: 获取文件内容
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileOption'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.FileInfo'
      security:
      - ApiKeyAuth: []
      summary: Load file content
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Load file content [path]
        formatZH: 获取文件内容 [path]
        paramKeys: []
  /files/decompress:
    post:
      consumes:
      - application/json
      description: 解压文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileDeCompress'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Decompress file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Decompress file [path]
        formatZH: 解压 [path]
        paramKeys: []
  /files/del:
    post:
      consumes:
      - application/json
      description: 删除文件/文件夹
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileDelete'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Delete dir or file [path]
        formatZH: 删除文件/文件夹 [path]
        paramKeys: []
  /files/download:
    post:
      consumes:
      - application/json
      description: 下载文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileDownload'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Download file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: Download file [name]
        formatZH: 下载文件 [name]
        paramKeys: []
  /files/download/bypath:
    post:
      consumes:
      - application/json
      description: 下载指定文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.FilePath'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Download file with path
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Download file [path]
        formatZH: 下载文件 [path]
        paramKeys: []
  /files/loadfile:
    post:
      consumes:
      - application/json
      description: 读取文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.FilePath'
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Read file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Read file [path]
        formatZH: 读取文件 [path]
        paramKeys: []
  /files/mode:
    post:
      consumes:
      - application/json
      description: 修改文件权限
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Change file mode
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        - mode
        formatEN: Change mode [paths] => [mode]
        formatZH: 修改权限 [paths] => [mode]
        paramKeys: []
  /files/move:
    post:
      consumes:
      - application/json
      description: 移动文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileMove'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Move file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - oldPaths
        - newPath
        formatEN: Move [oldPaths] => [newPath]
        formatZH: 移动文件 [oldPaths] => [newPath]
        paramKeys: []
  /files/rename:
    post:
      consumes:
      - application/json
      description: 修改文件名称
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileRename'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Change file name
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - oldName
        - newName
        formatEN: Rename [oldName] => [newName]
        formatZH: 重命名 [oldName] => [newName]
        paramKeys: []
  /files/save:
    post:
      consumes:
      - application/json
      description: 更新文件内容
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileEdit'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update file content
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Update file content [path]
        formatZH: 更新文件内容 [path]
        paramKeys: []
  /files/search:
    post:
      consumes:
      - application/json
      description: 获取文件列表
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileOption'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.FileInfo'
      security:
      - ApiKeyAuth: []
      summary: List files
      tags:
      - File
  /files/size:
    post:
      consumes:
      - application/json
      description: 获取文件夹大小
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.DirSizeReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Load file size
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Load file size [path]
        formatZH: 获取文件夹大小 [path]
        paramKeys: []
  /files/tree:
    post:
      consumes:
      - application/json
      description: 加载文件树
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileOption'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Load files tree
      tags:
      - File
  /files/upload:
    post:
      description: 上传文件
      parameters:
      - description: request
        in: formData
        name: file
        required: true
        type: file
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Upload file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - path
        formatEN: Upload file [path]
        formatZH: 上传文件 [path]
        paramKeys: []
  /files/upload/search:
    post:
      consumes:
      - application/json
      description: 分页获取上传文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.SearchUploadWithPage'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Page file
      tags:
      - File
  /files/wget:
    post:
      consumes:
      - application/json
      description: 下载远端文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.FileWget'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Wget file
      tags:
      - File
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - url
        - path
        - name
        formatEN: Download url => [path]/[name]
        formatZH: 下载 url => [path]/[name]
        paramKeys: []
  /hosts:
    post:
      consumes:
      - application/json
      description: 创建主机
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.HostOperate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create host
      tags:
      - Host
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        - addr
        formatEN: create host [name][addr]
        formatZH: 创建主机 [name][addr]
        paramKeys: []
  /hosts/:id:
    get:
      consumes:
      - application/json
      description: 加载主机信息
      parameters:
      - description: request
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.HostInfo'
      security:
      - ApiKeyAuth: []
      summary: Load host info
      tags:
      - Host
  /hosts/command:
    get:
      description: 获取快速命令列表
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.CommandInfo'
      security:
      - ApiKeyAuth: []
      summary: List commands
      tags:
      - Command
    post:
      consumes:
      - application/json
      description: 创建快速命令
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.CommandOperate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create command
      tags:
      - Command
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        - command
        formatEN: create quick command [name][command]
        formatZH: 创建快捷命令 [name][command]
        paramKeys: []
  /hosts/command/del:
    post:
      consumes:
      - application/json
      description: 删除快速命令
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BatchDeleteReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete command
      tags:
      - Command
      x-panel-log:
        BeforeFuntions:
        - db: commands
          input_colume: id
          input_value: ids
          isList: true
          output_colume: name
          output_value: names
        bodyKeys:
        - ids
        formatEN: delete quick command [names]
        formatZH: 删除快捷命令 [names]
        paramKeys: []
  /hosts/command/search:
    post:
      consumes:
      - application/json
      description: 获取快速命令列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchWithPage'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page commands
      tags:
      - Command
  /hosts/command/update:
    post:
      consumes:
      - application/json
      description: 更新快速命令
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.CommandOperate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update command
      tags:
      - Command
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: update quick command [name]
        formatZH: 更新快捷命令 [name]
        paramKeys: []
  /hosts/del:
    post:
      consumes:
      - application/json
      description: 删除主机
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BatchDeleteReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete host
      tags:
      - Host
      x-panel-log:
        BeforeFuntions:
        - db: hosts
          input_colume: id
          input_value: ids
          isList: true
          output_colume: addr
          output_value: addrs
        bodyKeys:
        - ids
        formatEN: delete host [addrs]
        formatZH: 删除主机 [addrs]
        paramKeys: []
  /hosts/group:
    post:
      consumes:
      - application/json
      description: 创建系统组
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.GroupCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create group
      tags:
      - System Group
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        - type
        formatEN: create group [name][type]
        formatZH: 创建组 [name][type]
        paramKeys: []
  /hosts/group/del:
    post:
      consumes:
      - application/json
      description: 删除系统组
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.OperateByID'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete group
      tags:
      - System Group
      x-panel-log:
        BeforeFuntions:
        - db: groups
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        - db: groups
          input_colume: id
          input_value: id
          isList: false
          output_colume: type
          output_value: type
        bodyKeys:
        - id
        formatEN: delete group [type][name]
        formatZH: 删除组 [type][name]
        paramKeys: []
  /hosts/group/search:
    post:
      consumes:
      - application/json
      description: 查询系统组
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.GroupSearch'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List groups
      tags:
      - System Group
  /hosts/group/update:
    post:
      consumes:
      - application/json
      description: 更新系统组
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.GroupUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update group
      tags:
      - System Group
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        - type
        formatEN: update group [name][type]
        formatZH: 更新组 [name][type]
        paramKeys: []
  /hosts/search:
    post:
      consumes:
      - application/json
      description: 获取主机列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchHostWithPage'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Page host
      tags:
      - Host
  /hosts/test/byid/:id:
    post:
      consumes:
      - application/json
      description: 测试主机连接
      parameters:
      - description: request
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            type: boolean
      security:
      - ApiKeyAuth: []
      summary: Test host conn by host id
      tags:
      - Host
  /hosts/test/byinfo:
    post:
      consumes:
      - application/json
      description: 测试主机连接
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.HostConnTest'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Test host conn by info
      tags:
      - Host
  /hosts/tree:
    post:
      consumes:
      - application/json
      description: 加载主机树
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchForTree'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Load host tree
      tags:
      - Host
  /hosts/update:
    post:
      consumes:
      - application/json
      description: 切换分组
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ChangeHostGroup'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update host group
      tags:
      - Host
      x-panel-log:
        BeforeFuntions:
        - db: hosts
          input_colume: id
          input_value: id
          isList: false
          output_colume: addr
          output_value: addr
        bodyKeys:
        - id
        - group
        formatEN: change host [addr] group => [group]
        formatZH: 切换主机[addr]分组 => [group]
        paramKeys: []
  /logs/clean:
    post:
      consumes:
      - application/json
      description: 清空操作日志
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.CleanLog'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Clean operation logs
      tags:
      - Logs
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - logType
        formatEN: Clean the [logType] log information
        formatZH: 清空 [logType] 日志信息
        paramKeys: []
  /logs/login:
    post:
      consumes:
      - application/json
      description: 获取系统登录日志列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchLgLogWithPage'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page login logs
      tags:
      - Logs
  /logs/operation:
    post:
      consumes:
      - application/json
      description: 获取系统操作日志列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchOpLogWithPage'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page operation logs
      tags:
      - Logs
  /openResty:
    get:
      description: 获取 OpenResty 配置信息
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.FileInfo'
      security:
      - ApiKeyAuth: []
      summary: Load OpenResty conf
      tags:
      - OpenResty
  /openResty/file:
    post:
      consumes:
      - application/json
      description: 上传更新 OpenResty 配置文件
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.NginxConfigFileUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update OpenResty conf by upload file
      tags:
      - OpenResty
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: Update nginx conf
        formatZH: 更新 nginx 配置
        paramKeys: []
  /openResty/scope:
    post:
      consumes:
      - application/json
      description: 获取部分 OpenResty 配置信息
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.NginxScopeReq'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Load partial OpenResty conf
      tags:
      - OpenResty
  /openResty/status:
    get:
      description: 获取 OpenResty 状态信息
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.NginxStatus'
      security:
      - ApiKeyAuth: []
      summary: Load OpenResty status info
      tags:
      - OpenResty
  /openResty/update:
    post:
      consumes:
      - application/json
      description: 更新 OpenResty 配置信息
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.NginxConfigUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update OpenResty conf
      tags:
      - OpenResty
      x-panel-log:
        BeforeFuntions:
        - db: websites
          input_colume: id
          input_value: websiteId
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - websiteId
        formatEN: Update nginx conf [domain]
        formatZH: 更新 nginx 配置 [domain]
        paramKeys: []
  /settings/backup:
    post:
      consumes:
      - application/json
      description: 创建备份账号
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BackupOperate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create backup account
      tags:
      - Backup Account
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - type
        formatEN: create backup account [type]
        formatZH: 创建备份账号 [type]
        paramKeys: []
  /settings/backup/:
    post:
      consumes:
      - application/json
      description: 备份系统数据
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.CommonBackup'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Backup system data
      tags:
      - Backup Account
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - type
        - name
        - detailName
        formatEN: backup [type] data [name][detailName]
        formatZH: 备份 [type] 数据 [name][detailName]
        paramKeys: []
  /settings/backup/del:
    post:
      consumes:
      - application/json
      description: 删除备份账号
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BatchDeleteReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete backup account
      tags:
      - Backup Account
      x-panel-log:
        BeforeFuntions:
        - db: backup_accounts
          input_colume: id
          input_value: ids
          isList: true
          output_colume: type
          output_value: types
        bodyKeys:
        - ids
        formatEN: delete backup account [types]
        formatZH: 删除备份账号 [types]
        paramKeys: []
  /settings/backup/record/del:
    post:
      consumes:
      - application/json
      description: 删除备份记录
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BatchDeleteReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete backup record
      tags:
      - Backup Account
      x-panel-log:
        BeforeFuntions:
        - db: backup_records
          input_colume: id
          input_value: ids
          isList: true
          output_colume: file_name
          output_value: files
        bodyKeys:
        - ids
        formatEN: delete backup records [files]
        formatZH: 删除备份记录 [files]
        paramKeys: []
  /settings/backup/record/download:
    post:
      consumes:
      - application/json
      description: 下载备份记录
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.DownloadRecord'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Download backup record
      tags:
      - Backup Account
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - source
        - fileName
        formatEN: download backup records [source][fileName]
        formatZH: 下载备份记录 [source][fileName]
        paramKeys: []
  /settings/backup/record/search:
    post:
      consumes:
      - application/json
      description: 获取备份记录列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.RecordSearch'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Page backup records
      tags:
      - Backup Account
  /settings/backup/recover:
    post:
      consumes:
      - application/json
      description: 恢复系统数据
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.CommonRecover'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Recover system data
      tags:
      - Backup Account
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - type
        - name
        - detailName
        - file
        formatEN: recover [type] data [name][detailName] from [file]
        formatZH: 从 [file] 恢复 [type] 数据 [name][detailName]
        paramKeys: []
  /settings/backup/recover/byupload:
    post:
      consumes:
      - application/json
      description: 从上传恢复系统数据
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.CommonRecover'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Recover system data by upload
      tags:
      - Backup Account
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - type
        - name
        - detailName
        - file
        formatEN: recover [type] data [name][detailName] from [file]
        formatZH: 从 [file] 恢复 [type] 数据 [name][detailName]
        paramKeys: []
  /settings/backup/search:
    get:
      description: 获取备份账号列表
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List backup accounts
      tags:
      - Backup Account
    post:
      consumes:
      - application/json
      description: 获取 bucket 列表
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.ForBuckets'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List buckets
      tags:
      - Backup Account
  /settings/backup/search/files:
    post:
      consumes:
      - application/json
      description: 获取备份账号内文件列表
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BackupSearchFile'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List files from backup accounts
      tags:
      - Backup Account
  /settings/backup/update:
    post:
      consumes:
      - application/json
      description: 更新备份账号信息
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BackupOperate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update backup account
      tags:
      - Backup Account
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - type
        formatEN: update backup account [types]
        formatZH: 更新备份账号 [types]
        paramKeys: []
  /settings/basedir:
    get:
      description: 获取安装根目录
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Load local backup dir
      tags:
      - System Setting
  /settings/expired/handle:
    post:
      consumes:
      - application/json
      description: 重置过期系统登录密码
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.PasswordUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Reset system password expired
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: reset an expired Password
        formatZH: 重置过期密码
        paramKeys: []
  /settings/mfa:
    get:
      description: 获取 mfa 信息
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/mfa.Otp'
      security:
      - ApiKeyAuth: []
      summary: Load mfa info
      tags:
      - System Setting
  /settings/mfa/bind:
    post:
      consumes:
      - application/json
      description: Mfa 绑定
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.MfaCredential'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Bind mfa
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: bind mfa
        formatZH: mfa 绑定
        paramKeys: []
  /settings/monitor/clean:
    post:
      description: 清空监控数据
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Clean monitor datas
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: clean monitor datas
        formatZH: 清空监控数据
        paramKeys: []
  /settings/password/update:
    post:
      consumes:
      - application/json
      description: 更新系统登录密码
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.PasswordUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update system password
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: update system password
        formatZH: 修改系统密码
        paramKeys: []
  /settings/port/update:
    post:
      consumes:
      - application/json
      description: 更新系统端口
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.PortUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update system port
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - serverPort
        formatEN: update system port => [serverPort]
        formatZH: 修改系统端口 => [serverPort]
        paramKeys: []
  /settings/search:
    post:
      description: 加载系统配置信息
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.SettingInfo'
      security:
      - ApiKeyAuth: []
      summary: Load system setting info
      tags:
      - System Setting
  /settings/search/available:
    get:
      description: 获取系统可用状态
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Load system available status
      tags:
      - System Setting
  /settings/snapshot:
    post:
      consumes:
      - application/json
      description: 创建系统快照
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SnapshotCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create system snapshot
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - from
        - description
        formatEN: Create system backup [description] to [from]
        formatZH: 创建系统快照 [description] 到 [from]
        paramKeys: []
  /settings/snapshot/del:
    post:
      consumes:
      - application/json
      description: 删除系统快照
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.BatchDeleteReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete system backup
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions:
        - db: snapshots
          input_colume: id
          input_value: ids
          isList: true
          output_colume: name
          output_value: name
        bodyKeys:
        - ids
        formatEN: Delete system backup [name]
        formatZH: 删除系统快照 [name]
        paramKeys: []
  /settings/snapshot/description/update:
    post:
      consumes:
      - application/json
      description: 更新快照描述信息
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.UpdateDescription'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update snapshot description
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions:
        - db: snapshots
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        - description
        formatEN: The description of the snapshot [name] is modified => [description]
        formatZH: 快照 [name] 描述信息修改 [description]
        paramKeys: []
  /settings/snapshot/import:
    post:
      consumes:
      - application/json
      description: 导入已有快照
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SnapshotImport'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Import system snapshot
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - from
        - names
        formatEN: Sync system snapshots [names] from [from]
        formatZH: 从 [from] 同步系统快照 [names]
        paramKeys: []
  /settings/snapshot/recover:
    post:
      consumes:
      - application/json
      description: 从系统快照恢复
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SnapshotRecover'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Recover system backup
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions:
        - db: snapshots
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: Recover from system backup [name]
        formatZH: 从系统快照 [name] 恢复
        paramKeys: []
  /settings/snapshot/rollback:
    post:
      consumes:
      - application/json
      description: 从系统快照回滚
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SnapshotRecover'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Rollback system backup
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions:
        - db: snapshots
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: Rollback from system backup [name]
        formatZH: 从系统快照 [name] 回滚
        paramKeys: []
  /settings/snapshot/search:
    post:
      consumes:
      - application/json
      description: 获取系统快照列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SearchWithPage'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page system snapshot
      tags:
      - System Setting
  /settings/time/sync:
    post:
      description: 系统时间同步
      responses:
        "200":
          description: OK
          schema:
            type: string
      security:
      - ApiKeyAuth: []
      summary: Sync system time
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions: []
        bodyKeys: []
        formatEN: sync system time
        formatZH: 系统时间同步
        paramKeys: []
  /settings/update:
    post:
      consumes:
      - application/json
      description: 更新系统配置
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.SettingUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update system setting
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - key
        - value
        formatEN: update system setting [key] => [value]
        formatZH: 修改系统配置 [key] => [value]
        paramKeys: []
  /settings/upgrade:
    get:
      consumes:
      - application/json
      description: 获取版本 release notes
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.Upgrade'
      responses:
        "200":
          description: ""
      security:
      - ApiKeyAuth: []
      summary: Load release notes by version
      tags:
      - System Setting
    post:
      consumes:
      - application/json
      description: 系统更新
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.Upgrade'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Upgrade
      tags:
      - System Setting
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - version
        formatEN: upgrade service => [version]
        formatZH: 更新系统 => [version]
        paramKeys: []
  /websites:
    post:
      consumes:
      - application/json
      description: 创建网站
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create website
      tags:
      - Website
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - primaryDomain
        formatEN: Create website [primaryDomain]
        formatZH: 创建网站 [primaryDomain]
        paramKeys: []
  /websites/:id:
    get:
      consumes:
      - application/json
      description: 通过 id 查询网站
      parameters:
      - description: request
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.WebsiteDTO'
      security:
      - ApiKeyAuth: []
      summary: Search website by id
      tags:
      - Website
  /websites/:id/https:
    get:
      consumes:
      - application/json
      description: 获取 https 配置
      parameters:
      - description: request
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.WebsiteHTTPS'
      security:
      - ApiKeyAuth: []
      summary: Load https conf
      tags:
      - Website HTTPS
    post:
      consumes:
      - application/json
      description: 更新 https 配置
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteHTTPSOp'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.WebsiteHTTPS'
      security:
      - ApiKeyAuth: []
      summary: Update https conf
      tags:
      - Website HTTPS
      x-panel-log:
        BeforeFuntions:
        - db: websites
          input_colume: id
          input_value: websiteId
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - websiteId
        formatEN: Update website https [domain] conf
        formatZH: 更新网站 [domain] https 配置
        paramKeys: []
  /websites/:id/nginx:
    get:
      consumes:
      - application/json
      description: 通过 id 查询网站 nginx
      parameters:
      - description: request
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.FileInfo'
      security:
      - ApiKeyAuth: []
      summary: Search website nginx by id
      tags:
      - Website Nginx
  /websites/acme:
    post:
      consumes:
      - application/json
      description: 创建网站 acme
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteAcmeAccountCreate'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.WebsiteAcmeAccountDTO'
      security:
      - ApiKeyAuth: []
      summary: Create website acme account
      tags:
      - Website Acme
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - email
        formatEN: Create website acme [email]
        formatZH: 创建网站 acme [email]
        paramKeys: []
  /websites/acme/del:
    post:
      consumes:
      - application/json
      description: 删除网站 acme
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteResourceReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete website acme account
      tags:
      - Website Acme
      x-panel-log:
        BeforeFuntions:
        - db: website_acme_accounts
          input_colume: id
          input_value: id
          isList: false
          output_colume: email
          output_value: email
        bodyKeys:
        - id
        formatEN: Delete website acme [email]
        formatZH: 删除网站 acme [email]
        paramKeys: []
  /websites/acme/search:
    post:
      consumes:
      - application/json
      description: 获取网站 acme 列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.PageInfo'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page website acme accounts
      tags:
      - Website Acme
  /websites/check:
    post:
      consumes:
      - application/json
      description: 网站创建前检查
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteInstallCheckReq'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Check before create website
      tags:
      - Website
  /websites/config:
    post:
      consumes:
      - application/json
      description: 获取 nginx 配置
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.NginxScopeReq'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.WebsiteNginxConfig'
      security:
      - ApiKeyAuth: []
      summary: Load nginx conf
      tags:
      - Website Nginx
  /websites/config/update:
    post:
      consumes:
      - application/json
      description: 更新 nginx 配置
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.NginxConfigUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update nginx conf
      tags:
      - Website Nginx
      x-panel-log:
        BeforeFuntions:
        - db: websites
          input_colume: id
          input_value: websiteId
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - websiteId
        formatEN: Nginx conf update [domain]
        formatZH: nginx 配置修改 [domain]
        paramKeys: []
  /websites/default/server:
    post:
      consumes:
      - application/json
      description: 操作网站日志
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteDefaultUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Change default server
      tags:
      - Website
      x-panel-log:
        BeforeFuntions:
        - db: websites
          input_colume: id
          input_value: id
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - id
        - operate
        formatEN: Change default server => [domain]
        formatZH: 修改默认 server => [domain]
        paramKeys: []
  /websites/del:
    post:
      consumes:
      - application/json
      description: 删除网站
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteDelete'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete website
      tags:
      - Website
      x-panel-log:
        BeforeFuntions:
        - db: websites
          input_colume: id
          input_value: id
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - id
        formatEN: Delete website [domain]
        formatZH: 删除网站 [domain]
        paramKeys: []
  /websites/dns:
    post:
      consumes:
      - application/json
      description: 创建网站 dns
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteDnsAccountCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create website dns account
      tags:
      - Website DNS
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: Create website dns [name]
        formatZH: 创建网站 dns [name]
        paramKeys: []
  /websites/dns/del:
    post:
      consumes:
      - application/json
      description: 删除网站 dns
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteResourceReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete website dns account
      tags:
      - Website DNS
      x-panel-log:
        BeforeFuntions:
        - db: website_dns_accounts
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: Delete website dns [name]
        formatZH: 删除网站 dns [name]
        paramKeys: []
  /websites/dns/search:
    post:
      consumes:
      - application/json
      description: 获取网站 dns 列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/dto.PageInfo'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page website dns accounts
      tags:
      - Website DNS
  /websites/dns/update:
    post:
      consumes:
      - application/json
      description: 更新网站 dns
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteDnsAccountUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update website dns account
      tags:
      - Website DNS
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: Update website dns [name]
        formatZH: 更新网站 dns [name]
        paramKeys: []
  /websites/domains:
    post:
      consumes:
      - application/json
      description: 创建网站域名
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteDomainCreate'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/model.WebsiteDomain'
      security:
      - ApiKeyAuth: []
      summary: Create website domain
      tags:
      - Website Domain
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - domain
        formatEN: Create domain [domain]
        formatZH: 创建域名 [domain]
        paramKeys: []
  /websites/domains/:websiteId:
    get:
      consumes:
      - application/json
      description: 通过网站 id 查询域名
      parameters:
      - description: request
        in: path
        name: websiteId
        required: true
        type: integer
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Search website domains by websiteId
      tags:
      - Website Domain
  /websites/domains/del:
    post:
      consumes:
      - application/json
      description: 删除网站域名
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteDomainDelete'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete website domain
      tags:
      - Website Domain
      x-panel-log:
        BeforeFuntions:
        - db: website_domains
          input_colume: id
          input_value: id
          isList: false
          output_colume: domain
          output_value: domain
        bodyKeys:
        - id
        formatEN: Delete domain [domain]
        formatZH: 删除域名 [domain]
        paramKeys: []
  /websites/groups:
    get:
      description: 获取网站组
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List website groups
      tags:
      - Website Group
    post:
      consumes:
      - application/json
      description: 创建网站组
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteGroupCreate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Create website group
      tags:
      - Website Group
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: Create website groups [name]
        formatZH: 创建网站组 [name]
        paramKeys: []
  /websites/groups/del:
    post:
      consumes:
      - application/json
      description: 删除网站组
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteResourceReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete website group
      tags:
      - Website Group
      x-panel-log:
        BeforeFuntions:
        - db: website_groups
          input_colume: id
          input_value: id
          isList: false
          output_colume: name
          output_value: name
        bodyKeys:
        - id
        formatEN: Delete website group [name]
        formatZH: 删除网站组 [name]
        paramKeys: []
  /websites/groups/update:
    post:
      consumes:
      - application/json
      description: 更新网站组
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteGroupUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update website group
      tags:
      - Website Group
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - name
        formatEN: Update website groups [name]
        formatZH: 更新网站组 [name]
        paramKeys: []
  /websites/list:
    get:
      description: 获取网站列表
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List websites
      tags:
      - Website
  /websites/log:
    post:
      consumes:
      - application/json
      description: 操作网站日志
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteLogReq'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.WebsiteLog'
      security:
      - ApiKeyAuth: []
      summary: Operate website log
      tags:
      - Website
      x-panel-log:
        BeforeFuntions:
        - db: websites
          input_colume: id
          input_value: id
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - id
        - operate
        formatEN: '[domain][operate] logs'
        formatZH: '[domain][operate] 日志'
        paramKeys: []
  /websites/nginx/update:
    post:
      consumes:
      - application/json
      description: 更新 网站 nginx 配置
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteNginxUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update website nginx conf
      tags:
      - Website Nginx
      x-panel-log:
        BeforeFuntions:
        - db: websites
          input_colume: id
          input_value: id
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - id
        formatEN: '[domain] Nginx conf update'
        formatZH: '[domain] Nginx 配置修改'
        paramKeys: []
  /websites/operate:
    post:
      consumes:
      - application/json
      description: 操作网站
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteOp'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Operate website
      tags:
      - Website
      x-panel-log:
        BeforeFuntions:
        - db: websites
          input_colume: id
          input_value: id
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - id
        - operate
        formatEN: '[operate] website [domain]'
        formatZH: '[operate] 网站 [domain]'
        paramKeys: []
  /websites/options:
    get:
      description: 获取网站列表
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: List website names
      tags:
      - Website
  /websites/search:
    post:
      consumes:
      - application/json
      description: 获取网站列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteSearch'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PageResult'
      security:
      - ApiKeyAuth: []
      summary: Page websites
      tags:
      - Website
  /websites/ssl:
    post:
      consumes:
      - application/json
      description: 创建网站 ssl
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteSSLCreate'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/request.WebsiteSSLCreate'
      security:
      - ApiKeyAuth: []
      summary: Create website ssl
      tags:
      - Website SSL
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - primaryDomain
        formatEN: Create website ssl [primaryDomain]
        formatZH: 创建网站 ssl [primaryDomain]
        paramKeys: []
  /websites/ssl/:id:
    get:
      consumes:
      - application/json
      description: 通过 id 查询 ssl
      parameters:
      - description: request
        in: path
        name: id
        required: true
        type: integer
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Search website ssl by id
      tags:
      - Website SSL
  /websites/ssl/del:
    post:
      consumes:
      - application/json
      description: 删除网站 ssl
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteResourceReq'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Delete website ssl
      tags:
      - Website SSL
      x-panel-log:
        BeforeFuntions:
        - db: website_ssls
          input_colume: id
          input_value: id
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - id
        formatEN: Delete ssl [domain]
        formatZH: 删除 ssl [domain]
        paramKeys: []
  /websites/ssl/renew:
    post:
      consumes:
      - application/json
      description: 重置网站 ssl
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteSSLRenew'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Reset website ssl
      tags:
      - Website SSL
      x-panel-log:
        BeforeFuntions:
        - db: website_ssls
          input_colume: id
          input_value: SSLId
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - SSLId
        formatEN: Renew ssl [domain]
        formatZH: 重置 ssl [domain]
        paramKeys: []
  /websites/ssl/resolve:
    post:
      consumes:
      - application/json
      description: 解析网站 ssl
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteDNSReq'
      responses:
        "200":
          description: OK
          schema:
            type: anrry
      security:
      - ApiKeyAuth: []
      summary: Resolve website ssl
      tags:
      - Website SSL
  /websites/ssl/search:
    post:
      consumes:
      - application/json
      description: 获取网站 ssl 列表分页
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteSSLSearch'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Page website ssl
      tags:
      - Website SSL
  /websites/ssl/update:
    post:
      consumes:
      - application/json
      description: 更新 ssl
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteSSLUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update ssl
      tags:
      - Website SSL
      x-panel-log:
        BeforeFuntions:
        - db: website_ssls
          input_colume: id
          input_value: id
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - id
        formatEN: Update ssl config [domain]
        formatZH: 更新证书设置 [domain]
        paramKeys: []
  /websites/ssl/website/:websiteId:
    get:
      consumes:
      - application/json
      description: 通过网站 id 查询 ssl
      parameters:
      - description: request
        in: path
        name: websiteId
        required: true
        type: integer
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Search website ssl by website id
      tags:
      - Website SSL
  /websites/update:
    post:
      consumes:
      - application/json
      description: 更新网站
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update website
      tags:
      - Website
      x-panel-log:
        BeforeFuntions: []
        bodyKeys:
        - primaryDomain
        formatEN: Update website [primaryDomain]
        formatZH: 更新网站 [primaryDomain]
        paramKeys: []
  /websites/waf/config:
    post:
      consumes:
      - application/json
      description: 获取网站 waf 配置
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteWafReq'
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/response.WebsiteWafConfig'
      security:
      - ApiKeyAuth: []
      summary: Load websit waf conf
      tags:
      - Website WAF
  /websites/waf/update:
    post:
      consumes:
      - application/json
      description: 更新 网站 waf 配置
      parameters:
      - description: request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/request.WebsiteWafUpdate'
      responses:
        "200":
          description: OK
      security:
      - ApiKeyAuth: []
      summary: Update website waf conf
      tags:
      - Website WAF
      x-panel-log:
        BeforeFuntions:
        - db: websites
          input_colume: id
          input_value: websiteId
          isList: false
          output_colume: primary_domain
          output_value: domain
        bodyKeys:
        - websiteId
        formatEN: WAF conf update [domain]
        formatZH: WAF 配置修改 [domain]
        paramKeys: []
swagger: "2.0"