openapi: 3.0.0
servers:
  - url: http://meshery.local
  - url: /
info:
  description: |-
    the purpose of this application is to provide an application
    that is using plain go code to define an API

    This should demonstrate all the possible comment annotations
    that are available to turn go code into a fully compliant swagger 2.0 spec
  license:
    name: Apache-2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.txt
  title: Meshery API.
  version: 0.4.27
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://avatars.githubusercontent.com/u/52376019?s=200&v=4
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/meshery/meshery/master/helpers/swagger.yaml
      version: "2.0"
  x-providerName: meshery.local
security:
  - token: []
paths:
  /api/application/:
    get:
      description: Returns requests for all Meshery Applications
      operationId: idGetApplicationFileRequest
      responses:
        "200":
          $ref: "#/components/responses/mesheryApplicationsResponseWrapper"
      summary: Handle GET request for Application Files
      tags:
        - ApplicationsAPI
    post:
      description: Save attached Meshery Application File
      operationId: idPostApplicationFileRequest
      responses:
        "200":
          $ref: "#/components/responses/mesheryApplicationResponseWrapper"
      summary: Handle POST request for Application Files
      tags:
        - ApplicationsAPI
  /api/application/deploy:
    delete:
      description: Delete a deployed application file with the request
      operationId: idDeleteApplicationFile
      responses:
        "200":
          description: ""
      summary: Handle DELETE request for Application File Deploy
      tags:
        - ApplicationsAPI
    post:
      description: Deploy an attached application file with the request
      operationId: idPostDeployApplicationFile
      requestBody:
        $ref: "#/components/requestBodies/idPostDeployApplicationFile"
      responses:
        "200":
          $ref: "#/components/responses/applicationFilesResponseWrapper"
      summary: Handle POST request for Application File Deploy
      tags:
        - ApplicationsAPI
  "/api/application/{id}":
    delete:
      description: "Deletes a meshery application file with ID: id"
      operationId: idDeleteMesheryApplicationFile
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/noContentWrapper"
      summary: Handle Delete for a Meshery Application File
      tags:
        - ApplicationsAPI
    get:
      description: Fetches the list of all applications saved by the current user
      operationId: idGetMesheryApplication
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/mesheryApplicationResponseWrapper"
      summary: Handle GET request for Meshery Application with the given id
      tags:
        - ApplicationsAPI
  /api/filter:
    get:
      description: Returns all the Meshery Filters saved by the current user
      operationId: idGetFilterFile
      responses:
        "200":
          $ref: "#/components/responses/mesheryFiltersResponseWrapper"
      summary: Handle GET request for all filters
      tags:
        - FiltersAPI
    post:
      description: Used to save/update a Meshery Filter
      operationId: idPostFilterFile
      responses:
        "200":
          $ref: "#/components/responses/mesheryFilterResponseWrapper"
      summary: Handle POST requests for Meshery Filters
      tags:
        - FiltersAPI
  "/api/filter/file/{id}":
    get:
      description: Returns the Meshery Filter file saved by the current user with the given id
      operationId: idGetFilterFiles
      parameters:
        - description: Automatically added
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/mesheryFilterResponseWrapper"
      summary: Handle GET request for filter file with given id
      tags:
        - FiltersAPI
  "/api/filter/{id}":
    delete:
      description: "Deletes a meshery filter with ID: id"
      operationId: idDeleteMesheryFilter
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/noContentWrapper"
      summary: Handle Delete for a Meshery Filter
      tags:
        - FiltersAPI
    get:
      description: Fetches the Meshery Filter with the given id
      operationId: idGetMesheryFilter
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/mesheryFilterResponseWrapper"
      summary: Handle GET request for a Meshery Filter
      tags:
        - FiltersAPI
  "/api/oam/{type}":
    get:
      description: |-
        Getting list of workloads/traits/scopes

        {type} being of either trait, scope, workload; registration of adapter capabilities.
      operationId: idGETOAMMesheryPattern
      parameters:
        - description: Automatically added
          in: path
          name: type
          required: true
          schema:
            type: string
      responses:
        "200":
          description: ""
      summary: Handles the get requests for the OAM objects
      tags:
        - PatternsAPI
    post:
      description: |-
        Adding a workload/trait/scope

        {type} being of either trait, scope, workload; registration of adapter capabilities.
      operationId: idPOSTOAMMesheryPattern
      parameters:
        - description: Automatically added
          in: path
          name: type
          required: true
          schema:
            type: string
      responses:
        "200":
          description: ""
      summary: Handles registering OMA objects
      tags:
        - PatternsAPI
  /api/pattern:
    get:
      description: |-
        Returns the list of all the patterns saved by the current user
        This will return all the patterns with their details
      operationId: idGetPatternFiles
      responses:
        "200":
          $ref: "#/components/responses/mesheryPatternsResponseWrapper"
      summary: Handle GET request for patterns
      tags:
        - PatternsAPI
    post:
      description: Edit/update a meshery pattern
      operationId: idPostPatternFile
      responses:
        "200":
          $ref: "#/components/responses/mesheryPatternResponseWrapper"
      summary: Handle POST requests for patterns
      tags:
        - PatternsAPI
  /api/pattern/deploy:
    delete:
      description: Delete a deployed pattern with the request
      operationId: idDeleteDeployPattern
      responses:
        "200":
          description: ""
      summary: Handle DELETE request for Pattern Deploy
      tags:
        - PatternsAPI
    post:
      description: Deploy an attached pattern with the request
      operationId: idPostDeployPattern
      requestBody:
        $ref: "#/components/requestBodies/idPostDeployApplicationFile"
      responses:
        "200":
          description: ""
      summary: Handle POST request for Pattern Deploy
      tags:
        - PatternsAPI
  "/api/pattern/{id}":
    delete:
      description: "Deletes a meshery pattern with ID: id"
      operationId: idDeleteMesheryPattern
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/noContentWrapper"
      summary: Handle Delete for a Meshery Pattern
      tags:
        - PatternsAPI
    get:
      description: Fetches the pattern with the given id
      operationId: idGetMesheryPattern
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/mesheryPatternResponseWrapper"
      summary: Handle GET for a Meshery Pattern
      tags:
        - PatternsAPI
  /api/perf/profile:
    get:
      description: Runs the load test with the given parameters
      operationId: idRunPerfTest
      requestBody:
        $ref: "#/components/requestBodies/PerformanceTestConfig"
      responses:
        "200":
          description: ""
      summary: Handle GET request to run a test
      tags:
        - PerfAPI
  /api/perf/profile/result:
    get:
      description: Returns pages of all the perf results from Remote Provider
      operationId: idGetAllPerfResults
      responses:
        "200":
          $ref: "#/components/responses/performanceResultsResponseWrapper"
      summary: Handles GET requests for perf results
      tags:
        - PerfAPI
  "/api/perf/profile/result/{id}":
    get:
      description: Returns an individual result from provider
      operationId: idGetSinglePerfResult
      parameters:
        - description: Automatically added
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          $ref: "#/components/responses/perfSingleResultRespWrapper"
      summary: Handles GET requests for perf result
      tags:
        - PerfAPI
  /api/provider:
    get:
      description: Update the choice of provider in system
      operationId: idChoiceProvider
      parameters:
        - in: query
          name: provider
          schema:
            type: string
          x-go-name: Provider
      responses:
        "200":
          description: ""
      summary: Handle GET request for the choice of provider
      tags:
        - ProvidersAPI
  /api/provider/capabilities:
    get:
      description: Returns the capabilities.json for the provider
      operationId: idGetProviderCapabilities
      responses:
        "200":
          description: ""
      summary: Handle GET requests for Provider
      tags:
        - ProvidersAPI
  /api/provider/extension:
    get:
      description: handles the requests to serve react components from the provider package
      operationId: idReactComponents
      responses:
        "200":
          description: ""
      summary: Handle GET request for React Components
      tags:
        - ProvidersAPI
  /api/providers:
    get:
      description: Returns the available list of providers
      operationId: idGetProvidersList
      responses:
        "200":
          $ref: "#/components/responses/listProvidersRespWrapper"
      summary: Handle GET request for list of providers
      tags:
        - ProvidersAPI
  /api/system/adapter/manage:
    delete:
      description: Used to delete adapter configuration
      operationId: idDeleteAdapterConfig
      parameters:
        - in: query
          name: adapter
          schema:
            type: string
          x-go-name: Adapter
      responses:
        "200":
          description: ""
      summary: Handle DELETE requests to delete adapter config
      tags:
        - SystemAPI
    post:
      description: Used to persist adapter config
      operationId: idPostAdapterConfig
      requestBody:
        content:
          application/json:
            schema:
              type: string
          multipart/form-data:
            schema:
              type: string
        x-go-name: MeshLocationURL
      responses:
        "200":
          $ref: "#/components/responses/mesheryAdaptersRespWrapper"
      summary: Handle POST requests to persist adapter config
      tags:
        - SystemAPI
  /api/system/adapter/operation:
    post:
      description: Used to send operations to the adapters
      operationId: idPostAdapterOperation
      parameters:
        - in: query
          name: adapter
          schema:
            type: string
          x-go-name: Adapter
        - in: query
          name: query
          schema:
            type: string
          x-go-name: Query
        - in: query
          name: customBody
          schema:
            type: string
          x-go-name: CustomBody
        - in: query
          name: namespace
          schema:
            type: string
          x-go-name: Namespace
        - in: query
          name: deleteOp
          schema:
            type: string
          x-go-name: Delete
      responses:
        "200":
          description: ""
      summary: Handle POST requests for Adapter Operations
      tags:
        - SystemAPI
  /api/system/adapters:
    get:
      description: Fetches and returns all the adapters and ping adapters
      operationId: idGetSystemAdapters
      parameters:
        - in: query
          name: adapter
          schema:
            type: string
          x-go-name: Adapter
      responses:
        "200":
          $ref: "#/components/responses/systemAdaptersRespWrapper"
      summary: Handle GET request for adapters
      tags:
        - SystemAPI
  /api/system/kubernetes:
    delete:
      description: Used to delete kubernetes config to System
      operationId: idDeleteK8SConfig
      responses:
        "200":
          description: ""
      summary: Handle DELETE request for Kubernetes Config
      tags:
        - SystemAPI
    post:
      description: Used to add kubernetes config to System
      operationId: idPostK8SConfig
      responses:
        "200":
          $ref: "#/components/responses/k8sConfigRespWrapper"
      summary: Handle POST request for Kubernetes Config
      tags:
        - SystemAPI
  /api/system/kubernetes/contexts:
    post:
      description: Returns the context list for a given k8s config
      operationId: idPostK8SContexts
      responses:
        "200":
          $ref: "#/components/responses/k8sContextsRespWrapper"
      summary: Handle POST requests for Kubernetes Context list
      tags:
        - SystemAPI
  /api/system/kubernetes/ping:
    get:
      description: Fetches server version to simulate ping
      operationId: idGetKubernetesPing
      responses:
        "200":
          description: ""
      summary: Handle GET request for Kubernetes ping
      tags:
        - SystemAPI
  /api/system/meshsync/grafana:
    get:
      description: Fetches Prometheus and Grafana
      operationId: idMeshSyncGrafana
      responses:
        "200":
          $ref: "#/components/responses/v1ServicesMapResponseWrapper"
      summary: Handle GET request for mesh-sync grafana
      tags:
        - SystemAPI
  /api/system/meshsync/prometheus:
    get:
      description: Fetches Prometheus
      operationId: idMeshSyncPrometheus
      responses:
        "200":
          $ref: "#/components/responses/v1ServicesMapResponseWrapper"
      summary: Handle GET request for fetching prometheus
      tags:
        - SystemAPI
  /api/system/sync:
    get:
      description: Used to send session data to the UI for initial sync
      operationId: idSystemSync
      responses:
        "200":
          $ref: "#/components/responses/userLoadTestPrefsRespWrapper"
      summary: Handle GET request for config sync
      tags:
        - SystemAPI
  /api/system/version:
    get:
      description: Returns the running Meshery version
      operationId: idGetSystemVersion
      responses:
        "200":
          $ref: "#/components/responses/mesheryVersionRespWrapper"
      summary: Handle GET request for system/server version
      tags:
        - SystemAPI
  /api/telemetry/metrics/board_import:
    post:
      description: Used for importing Grafana board for Prometheus
      operationId: idPostPrometheusBoardImport
      responses:
        "200":
          $ref: "#/components/responses/prometheusBoardImportRespWrapper"
      summary: Handle POST request for Prometheus board import
      tags:
        - PrometheusAPI
  /api/telemetry/metrics/boards:
    post:
      description: Used to persist selected board and panels
      operationId: idPostPrometheusBoard
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: "#/components/schemas/SelectedGrafanaConfig"
              type: array
          multipart/form-data:
            schema:
              items:
                $ref: "#/components/schemas/SelectedGrafanaConfig"
              type: array
        required: true
      responses:
        "200":
          description: ""
      summary: Handle POST request for Prometheus board
      tags:
        - PrometheusAPI
  /api/telemetry/metrics/config:
    delete:
      description: Used for deleting Prometheus configuration
      operationId: idDeletePrometheusConfig
      responses:
        "200":
          description: ""
      summary: Handle DELETE for Prometheus configuration
      tags:
        - PrometheusAPI
    get:
      description: Used for fetching Prometheus configuration
      operationId: idGetPrometheusConfig
      responses:
        "200":
          $ref: "#/components/responses/prometheusConfigResponseWrapper"
      summary: Handle GET for Prometheus configuration
      tags:
        - PrometheusAPI
    post:
      description: Used for persisting Prometheus configuration
      operationId: idPostPrometheusConfig
      requestBody:
        content:
          application/json:
            schema:
              type: string
          multipart/form-data:
            schema:
              type: string
        x-go-name: PrometheusURL
      responses:
        "200":
          description: ""
      summary: Handle POST for Prometheus configuration
      tags:
        - PrometheusAPI
  /api/telemetry/metrics/grafana/boards:
    get:
      description: Used for fetching Grafana boards and panels
      operationId: idGetGrafanaBoards
      parameters:
        - in: query
          name: dashboardSearch
          schema:
            type: string
          x-go-name: DashboardSearch
      responses:
        "200":
          $ref: "#/components/responses/grafanaBoardsResponseWrapper"
      summary: Handle GET request for Grafana boards
      tags:
        - GrafanaAPI
    post:
      description: Used for persist Grafana boards and panel selections
      operationId: idPostGrafanaBoards
      responses:
        "200":
          description: ""
      summary: Handle POST request for Grafana boards
      tags:
        - GrafanaAPI
  /api/telemetry/metrics/grafana/config:
    delete:
      description: Used for Delete Grafana configuration
      operationId: idDeleteGrafanaConfig
      responses:
        "200":
          description: ""
      summary: Handle DELETE request for Grafana configuration
      tags:
        - GrafanaAPI
    get:
      description: Used for fetching Grafana configuration
      operationId: idGetGrafanaConfig
      responses:
        "200":
          $ref: "#/components/responses/grafanaConfigResponseWrapper"
      summary: Handle GET request for Grafana configuration
      tags:
        - GrafanaAPI
    post:
      description: Used for persisting Grafana configuration
      operationId: idPostGrafanaConfig
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GrafanaConfigParams"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/GrafanaConfigParams"
        required: true
      responses:
        "200":
          description: ""
      summary: Handle POST request for Grafana configuration
      tags:
        - GrafanaAPI
  /api/telemetry/metrics/grafana/ping:
    get:
      description: Used to initiate a Grafana ping
      operationId: idGetGrafanaPing
      responses:
        "200":
          description: ""
      summary: Handle GET request for Grafana ping
      tags:
        - GrafanaAPI
  /api/telemetry/metrics/grafana/query:
    get:
      description: Used for handling Grafana queries
      operationId: idGetGrafanaQuery
      responses:
        "200":
          description: ""
      summary: Handle GET request for Grafana queries
      tags:
        - GrafanaAPI
  /api/telemetry/metrics/grafana/scan:
    get:
      description: Fetches and returns Grafana
      operationId: idGetGrafana
      responses:
        "200":
          $ref: "#/components/responses/v1ServicesMapResponseWrapper"
      summary: Handle GET request for Grafana
      tags:
        - GrafanaAPI
  /api/telemetry/metrics/ping:
    get:
      description: Used to ping prometheus
      operationId: idGetPrometheusPing
      responses:
        "200":
          description: ""
      summary: Handle GET request for Prometheus Ping
      tags:
        - PrometheusAPI
  /api/telemetry/metrics/query:
    get:
      description: Used to prometheus queries
      operationId: idGetPrometheusQuery
      responses:
        "200":
          description: ""
      summary: Handle GET request for Prometheus Query
      tags:
        - PrometheusAPI
  /api/telemetry/metrics/static-board:
    get:
      description: Used to fetch the static board
      operationId: idGetPrometheusStaticBoard
      responses:
        "200":
          $ref: "#/components/responses/prometheusStaticBoardRespWrapper"
      summary: Handle GET request for Prometheus static board
      tags:
        - PrometheusAPI
  /api/user/login:
    get:
      description: Redirects user for auth or issues session
      operationId: idGetUserLogin
      responses:
        "200":
          description: ""
      summary: Handlers GET request for User login
      tags:
        - UserAPI
  /api/user/logout:
    get:
      description: Redirects user for auth or issues session
      operationId: idGetUserLogout
      responses:
        "200":
          description: ""
      summary: Handlers GET request for User logout
      tags:
        - UserAPI
  /api/user/performance/profiles:
    get:
      description: Returns the list of all the performance profiles saved by the current user
      operationId: idGetPerformanceProfiles
      responses:
        "200":
          $ref: "#/components/responses/performanceProfilesResponseWrapper"
      summary: Handle GET requests for performance profiles
      tags:
        - PerformanceAPI
    post:
      description: Save performance profile using the current provider's persistence mechanism
      operationId: idSavePerformanceProfile
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PerformanceProfileParameters"
          multipart/form-data:
            schema:
              $ref: "#/components/schemas/PerformanceProfileParameters"
      responses:
        "200":
          $ref: "#/components/responses/performanceProfileResponseWrapper"
      summary: Handle POST requests for saving performance profile
      tags:
        - PerformanceAPI
  /api/user/performance/profiles/results:
    get:
      description: Returns pages of all the performance results from Remote Provider
      operationId: idGetAllPerformanceResults
      responses:
        "200":
          $ref: "#/components/responses/performanceResultsResponseWrapper"
      summary: Handles GET requests for performance results
      tags:
        - PerformanceAPI
  "/api/user/performance/profiles/{id}":
    delete:
      description: Deletes a performance profile with the given id
      operationId: idDeletePerformanceProfile
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/noContentWrapper"
      summary: Handle Delete requests for performance profiles
      tags:
        - PerformanceAPI
    get:
      description: Returns single performance profile with the given id
      operationId: idGetSinglePerformanceProfile
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/performanceProfileResponseWrapper"
      summary: Handle GET requests for performance results of a profile
      tags:
        - PerformanceAPI
  "/api/user/performance/profiles/{id}/results":
    get:
      description: Fetchs pages of results from Remote Provider for the given id
      operationId: idGETProfileResults
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/performanceResultsResponseWrapper"
      summary: Handle GET request for results of a profile
      tags:
        - PerformanceAPI
  "/api/user/performance/profiles/{id}/run":
    get:
      description: Runs the load test with the given parameters
      operationId: idRunPerformanceTest
      parameters:
        - description: Automatically added
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          description: ""
      summary: Handle GET request to run a performance test
      tags:
        - PerformanceAPI
  /api/user/prefs:
    get:
      description: Returns User Load Test Preferences
      operationId: idGetUserTestPrefs
      responses:
        "200":
          $ref: "#/components/responses/userLoadTestPrefsRespWrapper"
      summary: Handle GET for User Load Test Preferences
      tags:
        - UserAPI
    post:
      description: Updates User Load Test Preferences
      operationId: idPostUserTestPrefs
      responses:
        "200":
          $ref: "#/components/responses/userLoadTestPrefsRespWrapper"
      summary: Handle GET for User Load Test Preferences
      tags:
        - UserAPI
  /api/user/prefs/perf:
    delete:
      description: Used for deleting load test preferences
      operationId: idDeleteLoadPreferences
      parameters:
        - in: query
          name: uuid
          schema:
            format: uuid
            type: string
          x-go-name: UUID
      responses:
        "200":
          description: ""
      summary: Handle DELETE request for load test preferences
      tags:
        - UserAPI
    get:
      description: Used for fetching load test preferences
      operationId: idGetLoadPreferences
      parameters:
        - in: query
          name: uuid
          schema:
            format: uuid
            type: string
          x-go-name: UUID
      responses:
        "200":
          $ref: "#/components/responses/loadTestPreferencesWrapper"
      summary: Handle GET request for load test preferences
      tags:
        - UserAPI
    post:
      description: Used for persisting load test preferences
      operationId: idPostLoadPreferences
      requestBody:
        $ref: "#/components/requestBodies/PerformanceTestConfig"
      responses:
        "200":
          description: ""
      summary: Handle POST request for load test preferences
      tags:
        - UserAPI
  /api/user/schedules:
    get:
      description: Returns the list of all the schedules saved by the current user
      operationId: idGetSchedules
      responses:
        "200":
          $ref: "#/components/responses/schedulesResponseWrapper"
      summary: Handle GET reqeuest for Schedules
      tags:
        - SchedulesAPI
    post:
      description: Save schedule using the current provider's persistence mechanism
      operationId: idPostSchedules
      responses:
        "200":
          $ref: "#/components/responses/singleScheduleResponseWrapper"
      summary: Handle POST reqeuest for Schedules
      tags:
        - SchedulesAPI
  "/api/user/schedules/{id}":
    delete:
      description: Deletes a schedule with the given id
      operationId: idDeleteSchedules
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/schedulesResponseWrapper"
      summary: Handle DELETE reqeuest for Schedules
      tags:
        - SchedulesAPI
    get:
      description: Fetches and returns the schedule with the given id
      operationId: idGetSingleSchedule
      parameters:
        - description: id for a specific
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
          x-go-name: ID
      responses:
        "200":
          $ref: "#/components/responses/singleScheduleResponseWrapper"
      summary: Handle GET reqeuest for Schedules
      tags:
        - SchedulesAPI
  /api/user/token:
    get:
      description: |-
        Returns token from the actual provider in a file
        resposese:
        200:
      operationId: idGetTokenProvider
      responses:
        default:
          description: Default response
      summary: Handle GET request for tokens
      tags:
        - UserAPI
    post:
      description: |-
        Receives token from the actual provider
        resposese:
        200:
      operationId: idPostTokenProvider
      responses:
        default:
          description: Default response
      summary: Handle POST request for tokens
      tags:
        - UserAPI
  /provider:
    get:
      description: Servers providers UI
      operationId: idProvider
      responses:
        "200":
          description: ""
      summary: Handle GET request to provider UI
      tags:
        - ProvidersAPI
components:
  requestBodies:
    PerformanceTestConfig:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PerformanceTestConfig"
        multipart/form-data:
          schema:
            $ref: "#/components/schemas/PerformanceTestConfig"
    idPostDeployApplicationFile:
      content:
        multipart/form-data:
          schema:
            properties:
              Upload Yaml/Yml File:
                format: binary
                type: string
                x-go-name: FormFile
            type: object
  responses:
    applicationFilesResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/MesheryApplication"
      description: Returns the response of the application files
    grafanaBoardsResponseWrapper:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/GrafanaBoard"
            type: array
      description: Returns Grafana boards and panels
    grafanaConfigResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Grafana"
      description: Returns Grafana configs
    k8sConfigRespWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/K8SConfig"
      description: Returns saved kubernetes config
    k8sContextsRespWrapper:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/K8SContext"
            type: array
      description: Returns kubernetes context list
    listProvidersRespWrapper:
      content:
        application/json:
          schema:
            additionalProperties:
              $ref: "#/components/schemas/ProviderProperties"
            type: object
      description: Returns a list of available providers
    loadTestPreferencesWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PerformanceTestConfig"
      description: Returns load test preferences
    mesheryAdaptersRespWrapper:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Adapter"
            type: array
      description: Returns all the meshery adapters
    mesheryApplicationResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/MesheryApplication"
      description: Fetches a single Meshery Application
    mesheryApplicationsResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ApplicationsAPIResponse"
      description: Returns all meshery applications
    mesheryFilterResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/MesheryFilter"
      description: Returns a single meshery filter
    mesheryFiltersResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/FiltersAPIResponse"
      description: Returns all meshery filters
    mesheryPatternResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/MesheryPattern"
      description: Returns a single meshery pattern
    mesheryPatternsResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PatternsAPIResponse"
      description: Returns all meshery patterns
    mesheryVersionRespWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Version"
      description: Returns Meshery version
    noContentWrapper:
      description: ""
    perfSingleResultRespWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PerformanceSpec"
      description: Returns Single test result
    perfTestPrefsRespWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Preference"
      description: Returns Perf test preference
    performanceProfileResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PerformanceProfile"
      description: Returns a single performance profile
    performanceProfilesResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PerformanceProfilesAPIResponse"
      description: Returns all the performance profiles
    performanceResultsResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PerformanceResultsAPIResponse"
      description: Returns all performance results
    prometheusBoardImportRespWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GrafanaBoard"
      description: Response for prometheus board import
    prometheusConfigResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Prometheus"
      description: Returns prometheus configuration
    prometheusStaticBoardRespWrapper:
      content:
        application/json:
          schema:
            additionalProperties:
              $ref: "#/components/schemas/GrafanaBoard"
            type: object
      description: Returns Prometheus static board
    schedulesResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/SchedulesAPIResponse"
      description: Returns List of saved schedules
    singleScheduleResponseWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Schedule"
      description: Returns a single schedules
    systemAdaptersRespWrapper:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Adapter"
            type: array
      description: Return all the adapters
    userLoadTestPrefsRespWrapper:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Preference"
      description: Returns User Load Test Preferencee
    v1ServicesMapResponseWrapper:
      content:
        application/json:
          schema:
            additionalProperties:
              items:
                $ref: "#/components/schemas/Service"
              type: array
            type: object
      description: Returns a map for v1 services
  schemas:
    Adapter:
      description: Adapter represents an adapter in Meshery
      properties:
        adapter_location:
          type: string
          x-go-name: Location
        git_commit_sha:
          type: string
          x-go-name: GitCommitSHA
        name:
          type: string
          x-go-name: Name
        ops:
          items:
            $ref: "#/components/schemas/SupportedOperation"
          type: array
          x-go-name: Ops
        version:
          type: string
          x-go-name: Version
      type: object
      x-go-package: github.com/layer5io/meshery/models
    Alert:
      properties:
        alertRuleTags:
          additionalProperties:
            type: string
          type: object
          x-go-name: AlertRuleTags
        conditions:
          items:
            $ref: "#/components/schemas/AlertCondition"
          type: array
          x-go-name: Conditions
        executionErrorState:
          type: string
          x-go-name: ExecutionErrorState
        for:
          type: string
          x-go-name: For
        frequency:
          type: string
          x-go-name: Frequency
        handler:
          format: int64
          type: integer
          x-go-name: Handler
        message:
          type: string
          x-go-name: Message
        name:
          type: string
          x-go-name: Name
        noDataState:
          type: string
          x-go-name: NoDataState
        notifications:
          items:
            $ref: "#/components/schemas/AlertNotification"
          type: array
          x-go-name: Notifications
      type: object
      x-go-package: github.com/grafana-tools/sdk
    AlertCondition:
      properties:
        evaluator:
          $ref: "#/components/schemas/AlertEvaluator"
        operator:
          $ref: "#/components/schemas/AlertOperator"
        query:
          $ref: "#/components/schemas/AlertQuery"
        reducer:
          $ref: "#/components/schemas/AlertReducer"
        type:
          type: string
          x-go-name: Type
      type: object
      x-go-package: github.com/grafana-tools/sdk
    AlertEvaluator:
      properties:
        params:
          items:
            format: double
            type: number
          type: array
          x-go-name: Params
        type:
          type: string
          x-go-name: Type
      type: object
      x-go-package: github.com/grafana-tools/sdk
    AlertNotification:
      description: |-
        AlertNotification as described in the doc
        https://grafana.com/docs/grafana/latest/http_api/alerting_notification_channels/
      properties:
        disableResolveMessage:
          type: boolean
          x-go-name: DisableResolveMessage
        frequency:
          type: string
          x-go-name: Frequency
        id:
          format: int64
          type: integer
          x-go-name: ID
        isDefault:
          type: boolean
          x-go-name: IsDefault
        name:
          type: string
          x-go-name: Name
        sendReminder:
          type: boolean
          x-go-name: SendReminder
        settings:
          type: object
          x-go-name: Settings
        type:
          type: string
          x-go-name: Type
        uid:
          type: string
          x-go-name: UID
      type: object
      x-go-package: github.com/grafana-tools/sdk
    AlertOperator:
      properties:
        type:
          type: string
          x-go-name: Type
      type: object
      x-go-package: github.com/grafana-tools/sdk
    AlertQuery:
      properties:
        params:
          items:
            type: string
          type: array
          x-go-name: Params
      type: object
      x-go-package: github.com/grafana-tools/sdk
    AlertReducer:
      properties:
        params:
          items:
            type: string
          type: array
          x-go-name: Params
        type:
          type: string
          x-go-name: Type
      type: object
      x-go-package: github.com/grafana-tools/sdk
    ApplicationsAPIResponse:
      description: ApplicationsAPIResponse response retruned by patternfile endpoint on meshery server
      properties:
        applications:
          items:
            $ref: "#/components/schemas/MesheryApplication"
          type: array
          x-go-name: Applications
        page:
          format: uint64
          type: integer
          x-go-name: Page
        page_size:
          format: uint64
          type: integer
          x-go-name: PageSize
        total_count:
          format: uint64
          type: integer
          x-go-name: TotalCount
      type: object
      x-go-package: github.com/layer5io/meshery/models
    AuthenticateOKBody:
      description: AuthenticateOKBody authenticate o k body
      properties:
        IdentityToken:
          description: An opaque token used to authenticate a user after a successful login
          type: string
        Status:
          description: The status of the authentication
          type: string
      required:
        - IdentityToken
        - Status
      type: object
      x-go-package: github.com/docker/docker/api/types/registry
    Axis:
      description: for a graph panel
      properties:
        decimals:
          format: int64
          type: integer
          x-go-name: Decimals
        format:
          type: string
          x-go-name: Format
        label:
          type: string
          x-go-name: Label
        logBase:
          format: int64
          type: integer
          x-go-name: LogBase
        max:
          $ref: "#/components/schemas/FloatString"
        min:
          $ref: "#/components/schemas/FloatString"
        show:
          type: boolean
          x-go-name: Show
      type: object
      x-go-package: github.com/grafana-tools/sdk
    BoolString:
      properties:
        Flag:
          type: boolean
        Value:
          type: string
      type: object
      x-go-package: github.com/grafana-tools/sdk
    Capabilities:
      description: Capabilities is the collection of capability
      items:
        $ref: "#/components/schemas/Capability"
      type: array
      x-go-package: github.com/layer5io/meshery/models
    Capability:
      description: Capability is a capability of Provider indicating whether a feature is present
      properties:
        endpoint:
          type: string
          x-go-name: Endpoint
        feature:
          $ref: "#/components/schemas/Feature"
      type: object
      x-go-package: github.com/layer5io/meshery/models
    ClientIPConfig:
      properties:
        timeoutSeconds:
          description: |-
            timeoutSeconds specifies the seconds of ClientIP type session sticky time.
            The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
            Default value is 10800(for 3 hours).
            +optional
          format: int32
          type: integer
          x-go-name: TimeoutSeconds
      title: ClientIPConfig represents the configurations of Client IP based session affinity.
      type: object
      x-go-package: k8s.io/api/core/v1
    Column:
      description: for a table
      properties:
        text:
          type: string
          x-go-name: TextType
        value:
          type: string
          x-go-name: Value
      type: object
      x-go-package: github.com/grafana-tools/sdk
    ColumnStyle:
      description: for a table
      properties:
        alias:
          type: string
          x-go-name: Alias
        colorMode:
          type: string
          x-go-name: ColorMode
        colors:
          items:
            type: string
          type: array
          x-go-name: Colors
        dateFormat:
          type: string
          x-go-name: DateFormat
        decimals:
          format: uint64
          type: integer
          x-go-name: Decimals
        link:
          type: boolean
          x-go-name: Link
        linkTargetBlank:
          type: boolean
          x-go-name: LinkTargetBlank
        linkTooltip:
          type: string
          x-go-name: LinkTooltip
        linkUrl:
          type: string
          x-go-name: LinkUrl
        mappingType:
          format: int64
          type: integer
          x-go-name: MappingType
        pattern:
          type: string
          x-go-name: Pattern
        thresholds:
          items:
            type: string
          type: array
          x-go-name: Thresholds
        type:
          type: string
          x-go-name: Type
        unit:
          type: string
          x-go-name: Unit
        valueMaps:
          items:
            $ref: "#/components/schemas/ValueMap"
          type: array
          x-go-name: ValueMaps
      type: object
      x-go-package: github.com/grafana-tools/sdk
    ContainerChangeResponseItem:
      description: ContainerChangeResponseItem change item in response to ContainerChanges operation
      properties:
        Kind:
          description: Kind of change
          format: uint8
          type: integer
        Path:
          description: Path to file that has changed
          type: string
      required:
        - Kind
        - Path
      type: object
      x-go-package: github.com/docker/docker/api/types/container
    ContainerCreateCreatedBody:
      description: ContainerCreateCreatedBody OK response to ContainerCreate operation
      properties:
        Id:
          description: The ID of the created container
          type: string
          x-go-name: ID
        Warnings:
          description: Warnings encountered when creating the container
          items:
            type: string
          type: array
      required:
        - Id
        - Warnings
      type: object
      x-go-package: github.com/docker/docker/api/types/container
    ContainerTopOKBody:
      description: ContainerTopOKBody OK response to ContainerTop operation
      properties:
        Processes:
          description: Each process running in the container, where each is process is an array of values corresponding to the titles
          items:
            items:
              type: string
            type: array
          type: array
        Titles:
          description: The ps column titles
          items:
            type: string
          type: array
      required:
        - Processes
        - Titles
      type: object
      x-go-package: github.com/docker/docker/api/types/container
    ContainerUpdateOKBody:
      description: ContainerUpdateOKBody OK response to ContainerUpdate operation
      properties:
        Warnings:
          description: warnings
          items:
            type: string
          type: array
      required:
        - Warnings
      type: object
      x-go-package: github.com/docker/docker/api/types/container
    ContainerWaitOKBody:
      description: ContainerWaitOKBody OK response to ContainerWait operation
      properties:
        Error:
          $ref: "#/components/schemas/ContainerWaitOKBodyError"
        StatusCode:
          description: Exit code of the container
          format: int64
          type: integer
      required:
        - Error
        - StatusCode
      type: object
      x-go-package: github.com/docker/docker/api/types/container
    ContainerWaitOKBodyError:
      description: ContainerWaitOKBodyError container waiting error, if any
      properties:
        Message:
          description: Details of an error
          type: string
      type: object
      x-go-package: github.com/docker/docker/api/types/container
    ErrorResponse:
      properties:
        message:
          description: The error message.
          type: string
          x-go-name: Message
      required:
        - message
      title: ErrorResponse Represents an error.
      type: object
      x-go-package: github.com/docker/docker/api/types
    Extensions:
      description: Extensions defines the UI extension points
      properties:
        graphql:
          $ref: "#/components/schemas/GraphQLExtensions"
        navigator:
          $ref: "#/components/schemas/NavigatorExtensions"
        user_prefs:
          $ref: "#/components/schemas/UserPrefsExtensions"
      type: object
      x-go-package: github.com/layer5io/meshery/models
    Feature:
      description: Feature is a type to store the features of the provider
      type: string
      x-go-package: github.com/layer5io/meshery/models
    FieldConfig:
      properties:
        defaults:
          properties:
            threshold:
              properties:
                mode:
                  type: string
                  x-go-name: Mode
                steps:
                  items:
                    properties:
                      color:
                        type: string
                        x-go-name: Color
                      value:
                        type: string
                        x-go-name: Value
                    type: object
                  type: array
                  x-go-name: Steps
              type: object
              x-go-name: Threshold
            unit:
              type: string
              x-go-name: Unit
          type: object
          x-go-name: Defaults
      type: object
      x-go-package: github.com/grafana-tools/sdk
    FieldsV1:
      description: |-
        Each key is either a '.' representing the field itself, and will always map to an empty set,
        or a string representing a sub-field or item. The string will follow one of these four formats:
        'f:<name>', where <name> is the name of a field in a struct, or key in a map
        'v:<value>', where <value> is the exact json formatted value of a list item
        'i:<index>', where <index> is position of a item in a list
        'k:<keys>', where <keys> is a map of  a list item's key fields to their unique values
        If a key maps to an empty Fields value, the field that key represents is part of the set.

        The exact format is defined in sigs.k8s.io/structured-merge-diff
      title: FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.
      type: object
      x-go-package: k8s.io/apimachinery/pkg/apis/meta/v1
    FiltersAPIResponse:
      description: FiltersAPIResponse response retruned by filterfile endpoint on meshery server
      properties:
        filters:
          items:
            $ref: "#/components/schemas/MesheryFilter"
          type: array
          x-go-name: Filters
        page:
          format: uint64
          type: integer
          x-go-name: Page
        page_size:
          format: uint64
          type: integer
          x-go-name: PageSize
        total_count:
          format: uint64
          type: integer
          x-go-name: TotalCount
      type: object
      x-go-package: github.com/layer5io/meshery/models
    FloatString:
      properties:
        Valid:
          type: boolean
        Value:
          format: double
          type: number
      title: 'FloatString represents special type for json values that could be strings or ints: 100 or "100"'
      type: object
      x-go-package: github.com/grafana-tools/sdk
    Gauge:
      description: for a stat
      properties:
        maxValue:
          format: float
          type: number
          x-go-name: MaxValue
        minValue:
          format: float
          type: number
          x-go-name: MinValue
        show:
          type: boolean
          x-go-name: Show
        thresholdLabels:
          type: boolean
          x-go-name: ThresholdLabels
        thresholdMarkers:
          type: boolean
          x-go-name: ThresholdMarkers
      type: object
      x-go-package: github.com/grafana-tools/sdk
    Grafana:
      description: Grafana represents the Grafana session config
      properties:
        grafanaAPIKey:
          type: string
          x-go-name: GrafanaAPIKey
        grafanaURL:
          type: string
          x-go-name: GrafanaURL
        selectedBoardsConfigs:
          description: GrafanaBoardSearch string          `json:"grafanaBoardSearch,omitempty"`
          items:
            $ref: "#/components/schemas/SelectedGrafanaConfig"
          type: array
          x-go-name: GrafanaBoards
      type: object
      x-go-package: github.com/layer5io/meshery/models
    GrafanaBoard:
      description: GrafanaBoard represents a Grafana board
      properties:
        org_id:
          format: uint64
          type: integer
          x-go-name: OrgID
        panels:
          items:
            $ref: "#/components/schemas/Panel"
          type: array
          x-go-name: Panels
        slug:
          type: string
          x-go-name: Slug
        template_vars:
          items:
            $ref: "#/components/schemas/GrafanaTemplateVars"
          type: array
          x-go-name: TemplateVars
        title:
          type: string
          x-go-name: Title
        uid:
          type: string
          x-go-name: UID
        uri:
          type: string
          x-go-name: URI
      type: object
      x-go-package: github.com/layer5io/meshery/models
    GrafanaConfigParams:
      description: Parameters to save Grafana configuration
      properties:
        grafanaAPIKey:
          type: string
          x-go-name: GrafanaAPIKey
        grafanaURL:
          type: string
          x-go-name: GrafanaURL
      type: object
      x-go-package: github.com/layer5io/meshery/models
    GrafanaDataSource:
      description: GrafanaDataSource represents a Grafana datasource like Prometheus
      properties:
        id:
          format: uint64
          type: integer
          x-go-name: ID
        name:
          type: string
          x-go-name: Name
      type: object
      x-go-package: github.com/layer5io/meshery/models
    GrafanaTemplateVars:
      description: GrafanaTemplateVars represents template variables in a bboard
      properties:
        datasource:
          $ref: "#/components/schemas/GrafanaDataSource"
        hide:
          format: uint8
          type: integer
          x-go-name: Hide
        name:
          type: string
          x-go-name: Name
        query:
          type: string
          x-go-name: Query
        value:
          type: object
          x-go-name: Value
      type: object
      x-go-package: github.com/layer5io/meshery/models
    GraphDriverData:
      properties:
        Data:
          additionalProperties:
            type: string
          description: data
          type: object
        Name:
          description: name
          type: string
      required:
        - Data
        - Name
      title: GraphDriverData Information about a container's graph driver.
      type: object
      x-go-package: github.com/docker/docker/api/types
    GraphQLExtension:
      description: GraphQLExtension describes the graphql server extension point in the backend
      properties:
        component:
          type: string
          x-go-name: Component
        path:
          type: string
          x-go-name: Path
      type: object
      x-go-package: github.com/layer5io/meshery/models
    GraphQLExtensions:
      description: GraphQLExtensions is a collection of GraphQLExtension endpoints
      items:
        $ref: "#/components/schemas/GraphQLExtension"
      type: array
      x-go-package: github.com/layer5io/meshery/models
    HistoryResponseItem:
      description: HistoryResponseItem individual image layer information in response to ImageHistory operation
      properties:
        Comment:
          description: comment
          type: string
        Created:
          description: created
          format: int64
          type: integer
        CreatedBy:
          description: created by
          type: string
        Id:
          description: Id
          type: string
          x-go-name: ID
        Size:
          description: size
          format: int64
          type: integer
        Tags:
          description: tags
          items:
            type: string
          type: array
      required:
        - Comment
        - Created
        - CreatedBy
        - Id
        - Size
        - Tags
      type: object
      x-go-package: github.com/docker/docker/api/types/image
    Href:
      description: Href describes a link along with its type
      properties:
        external:
          type: boolean
          x-go-name: External
        uri:
          type: string
          x-go-name: URI
      type: object
      x-go-package: github.com/layer5io/meshery/models
    IPFamily:
      description: |-
        IPFamily represents the IP Family (IPv4 or IPv6). This type is used
        to express the family of an IP expressed by a type (i.e. service.Spec.IPFamily)
      type: string
      x-go-package: k8s.io/api/core/v1
    IdResponse:
      description: IDResponse Response to an API call that returns just an Id
      properties:
        Id:
          description: The id of the newly created object.
          type: string
          x-go-name: ID
      required:
        - Id
      type: object
      x-go-name: IDResponse
      x-go-package: github.com/docker/docker/api/types
    ImageDeleteResponseItem:
      description: ImageDeleteResponseItem image delete response item
      properties:
        Deleted:
          description: The image ID of an image that was deleted
          type: string
        Untagged:
          description: The image ID of an image that was untagged
          type: string
      type: object
      x-go-package: github.com/docker/docker/api/types
    ImageSummary:
      description: ImageSummary image summary
      properties:
        Containers:
          description: containers
          format: int64
          type: integer
        Created:
          description: created
          format: int64
          type: integer
        Id:
          description: Id
          type: string
          x-go-name: ID
        Labels:
          additionalProperties:
            type: string
          description: labels
          type: object
        ParentId:
          description: parent Id
          type: string
          x-go-name: ParentID
        RepoDigests:
          description: repo digests
          items:
            type: string
          type: array
        RepoTags:
          description: repo tags
          items:
            type: string
          type: array
        SharedSize:
          description: shared size
          format: int64
          type: integer
        Size:
          description: size
          format: int64
          type: integer
        VirtualSize:
          description: virtual size
          format: int64
          type: integer
      required:
        - Containers
        - Created
        - Id
        - Labels
        - ParentId
        - RepoDigests
        - RepoTags
        - SharedSize
        - Size
        - VirtualSize
      type: object
      x-go-package: github.com/docker/docker/api/types
    IntOrString:
      description: |-
        +protobuf=true
        +protobuf.options.(gogoproto.goproto_stringer)=false
        +k8s:openapi-gen=true
      properties:
        IntVal:
          format: int32
          type: integer
        StrVal:
          type: string
        Type:
          $ref: "#/components/schemas/Type"
      title: |-
        IntOrString is a type that can hold an int32 or a string.  When used in
        JSON or YAML marshalling and unmarshalling, it produces or consumes the
        inner type.  This allows you to have, for example, a JSON field that can
        accept a name or number.
        TODO: Rename to Int32OrString
      type: object
      x-go-package: k8s.io/apimachinery/pkg/util/intstr
    IntString:
      properties:
        Valid:
          type: boolean
        Value:
          format: int64
          type: integer
      title: 'IntString represents special type for json values that could be strings or ints: 100 or "100"'
      type: object
      x-go-package: github.com/grafana-tools/sdk
    K8SConfig:
      description: K8SConfig represents all the k8s session config
      properties:
        clusterConfigured:
          type: boolean
          x-go-name: ClusterConfigured
        config:
          items:
            format: uint8
            type: integer
          type: array
          x-go-name: Config
        configuredServer:
          type: string
          x-go-name: Server
        contextName:
          type: string
          x-go-name: ContextName
        inClusterConfig:
          type: boolean
          x-go-name: InClusterConfig
        k8sfile:
          type: string
          x-go-name: K8Sfile
        nodes:
          items:
            $ref: "#/components/schemas/K8SNode"
          type: array
          x-go-name: Nodes
        server_version:
          type: string
          x-go-name: ServerVersion
      type: object
      x-go-package: github.com/layer5io/meshery/models
    K8SContext:
      description: K8SContext is just used to send contexts to the UI
      properties:
        clusterName:
          type: string
          x-go-name: ClusterName
        contextName:
          type: string
          x-go-name: ContextName
        currentContext:
          description: ContextDisplayName string `json:"context-display-name"`
          type: boolean
          x-go-name: IsCurrentContext
      type: object
      x-go-package: github.com/layer5io/meshery/models
    K8SNode:
      description: K8SNode - represents a kubernetes node
      properties:
        allocatable_cpu:
          type: string
          x-go-name: AllocatableCPU
        allocatable_memory:
          type: string
          x-go-name: AllocatableMemory
        architecture:
          type: string
          x-go-name: Architecture
        capacity_cpu:
          type: string
          x-go-name: CapacityCPU
        capacity_memory:
          type: string
          x-go-name: CapacityMemory
        container_runtime_version:
          type: string
          x-go-name: ContainerRuntimeVersion
        hostname:
          type: string
          x-go-name: HostName
        internal_ip:
          type: string
          x-go-name: InternalIP
        kubelet_version:
          type: string
          x-go-name: KubeletVersion
        kubeproxy_version:
          type: string
          x-go-name: KubeProxyVersion
        operating_system:
          type: string
          x-go-name: OperatingSystem
        os_image:
          type: string
          x-go-name: OSImage
      type: object
      x-go-package: github.com/layer5io/meshery/models
    LatenciesMs:
      description: LatenciesMs - represents a collection of important latencies
      properties:
        Average:
          format: double
          type: number
        Max:
          format: double
          type: number
        Min:
          format: double
          type: number
        P50:
          format: double
          type: number
        P90:
          format: double
          type: number
        P99:
          format: double
          type: number
      type: object
      x-go-package: github.com/layer5io/meshery/models
    Legend:
      description: for a graph panel
      properties:
        alignAsTable:
          type: boolean
          x-go-name: AlignAsTable
        avg:
          type: boolean
          x-go-name: Avg
        current:
          type: boolean
          x-go-name: Current
        hideEmpty:
          type: boolean
          x-go-name: HideEmpty
        hideZero:
          type: boolean
          x-go-name: HideZero
        max:
          type: boolean
          x-go-name: Max
        min:
          type: boolean
          x-go-name: Min
        rightSide:
          type: boolean
          x-go-name: RightSide
        show:
          type: boolean
          x-go-name: Show
        sideWidth:
          format: uint64
          type: integer
          x-go-name: SideWidth
        total:
          type: boolean
          x-go-name: Total
        values:
          type: boolean
          x-go-name: Values
      type: object
      x-go-package: github.com/grafana-tools/sdk
    Link:
      properties:
        asDropdown:
          type: boolean
          x-go-name: AsDropdown
        dashUri:
          type: string
          x-go-name: DashURI
        dashboard:
          type: string
          x-go-name: Dashboard
        icon:
          type: string
          x-go-name: Icon
        includeVars:
          type: boolean
          x-go-name: IncludeVars
        keepTime:
          type: boolean
          x-go-name: KeepTime
        params:
          type: string
          x-go-name: Params
        tags:
          items:
            type: string
          type: array
          x-go-name: Tags
        targetBlank:
          type: boolean
          x-go-name: TargetBlank
        title:
          type: string
          x-go-name: Title
        tooltip:
          type: string
          x-go-name: Tooltip
        type:
          type: string
          x-go-name: Type
        url:
          type: string
          x-go-name: URL
      type: object
      x-go-package: github.com/grafana-tools/sdk
    LoadBalancerIngress:
      description: traffic intended for the service should be sent to an ingress point.
      properties:
        hostname:
          description: |-
            Hostname is set for load-balancer ingress points that are DNS based
            (typically AWS load-balancers)
            +optional
          type: string
          x-go-name: Hostname
        ip:
          description: |-
            IP is set for load-balancer ingress points that are IP based
            (typically GCE or OpenStack load-balancers)
            +optional
          type: string
          x-go-name: IP
      title: "LoadBalancerIngress represents the status of a load-balancer ingress point:"
      type: object
      x-go-package: k8s.io/api/core/v1
    LoadBalancerStatus:
      properties:
        ingress:
          description: |-
            Ingress is a list containing ingress points for the load-balancer.
            Traffic intended for the service should be sent to these ingress points.
            +optional
          items:
            $ref: "#/components/schemas/LoadBalancerIngress"
          type: array
          x-go-name: Ingress
      title: LoadBalancerStatus represents the status of a load-balancer.
      type: object
      x-go-package: k8s.io/api/core/v1
    LoadTestPreferences:
      description: LoadTestPreferences represents the load test preferences
      properties:
        c:
          format: int64
          type: integer
          x-go-name: ConcurrentRequests
        gen:
          type: string
          x-go-name: LoadGenerator
        qps:
          format: int64
          type: integer
          x-go-name: QueriesPerSecond
        t:
          type: string
          x-go-name: Duration
      type: object
      x-go-package: github.com/layer5io/meshery/models
    ManagedFieldsEntry:
      description: |-
        ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource
        that the fieldset applies to.
      properties:
        apiVersion:
          description: |-
            APIVersion defines the version of this resource that this field set
            applies to. The format is "group/version" just like the top-level
            APIVersion field. It is necessary to track the version of a field
            set because it cannot be automatically converted.
          type: string
          x-go-name: APIVersion
        fieldsType:
          description: |-
            FieldsType is the discriminator for the different fields format and version.
            There is currently only one possible value: "FieldsV1"
          type: string
          x-go-name: FieldsType
        fieldsV1:
          $ref: "#/components/schemas/FieldsV1"
        manager:
          description: Manager is an identifier of the workflow managing these fields.
          type: string
          x-go-name: Manager
        operation:
          $ref: "#/components/schemas/ManagedFieldsOperationType"
        time:
          $ref: "#/components/schemas/Time"
      type: object
      x-go-package: k8s.io/apimachinery/pkg/apis/meta/v1
    ManagedFieldsOperationType:
      title: ManagedFieldsOperationType is the type of operation which lead to a ManagedFieldsEntry being created.
      type: string
      x-go-package: k8s.io/apimachinery/pkg/apis/meta/v1
    Map:
      additionalProperties:
        type: object
      description: |-
        It implements native SQL driver interfaces and hence can
        be used for SQL json or jsonb types as a drop in replacement
        of golang native maps
      title: Map type is an alias for map[string]interface{}
      type: object
      x-go-package: github.com/layer5io/meshery/internal/sql
    MapType:
      properties:
        name:
          type: string
          x-go-name: Name
        value:
          format: int64
          type: integer
          x-go-name: Value
      type: object
      x-go-package: github.com/grafana-tools/sdk
    MesheryApplication:
      description: MesheryApplication represents the applications that needs to be saved
      properties:
        application_file:
          type: string
          x-go-name: ApplicationFile
        created_at:
          format: date-time
          type: string
          x-go-name: CreatedAt
        id:
          $ref: "#/components/schemas/UUID"
        location:
          $ref: "#/components/schemas/Map"
        name:
          type: string
          x-go-name: Name
        updated_at:
          format: date-time
          type: string
          x-go-name: UpdatedAt
        user_id:
          description: |-
            Meshery doesn't have the user id fields
            but the remote provider is allowed to provide one
          type: string
          x-go-name: UserID
      type: object
      x-go-package: github.com/layer5io/meshery/models
    MesheryFilter:
      description: MesheryFilter represents the filters that needs to be saved
      properties:
        created_at:
          format: date-time
          type: string
          x-go-name: CreatedAt
        filter_file:
          type: string
          x-go-name: FilterFile
        id:
          $ref: "#/components/schemas/UUID"
        location:
          $ref: "#/components/schemas/Map"
        name:
          type: string
          x-go-name: Name
        updated_at:
          format: date-time
          type: string
          x-go-name: UpdatedAt
        user_id:
          description: |-
            Meshery doesn't have the user id fields
            but the remote provider is allowed to provide one
          type: string
          x-go-name: UserID
      type: object
      x-go-package: github.com/layer5io/meshery/models
    MesheryPattern:
      description: MesheryPattern represents the patterns that needs to be saved
      properties:
        created_at:
          format: date-time
          type: string
          x-go-name: CreatedAt
        id:
          $ref: "#/components/schemas/UUID"
        location:
          $ref: "#/components/schemas/Map"
        name:
          type: string
          x-go-name: Name
        pattern_file:
          type: string
          x-go-name: PatternFile
        updated_at:
          format: date-time
          type: string
          x-go-name: UpdatedAt
        user_id:
          description: |-
            Meshery doesn't have the user id fields
            but the remote provider is allowed to provide one
          type: string
          x-go-name: UserID
      type: object
      x-go-package: github.com/layer5io/meshery/models
    NavigatorExtension:
      description: NavigatorExtension describes the Navigator extension point in the UI
      properties:
        children:
          $ref: "#/components/schemas/NavigatorExtensions"
        component:
          type: string
          x-go-name: Component
        href:
          $ref: "#/components/schemas/Href"
        icon:
          type: string
          x-go-name: Icon
        link:
          type: boolean
          x-go-name: Link
        show:
          type: boolean
          x-go-name: Show
        title:
          type: string
          x-go-name: Title
      type: object
      x-go-package: github.com/layer5io/meshery/models
    NavigatorExtensions:
      description: NavigatorExtensions is a collection of NavigatorExtension
      items:
        $ref: "#/components/schemas/NavigatorExtension"
      type: array
      x-go-package: github.com/layer5io/meshery/models
    OpCategory:
      format: int32
      type: integer
      x-go-package: github.com/layer5io/meshery/meshes
    Options:
      properties:
        colorMode:
          type: string
          x-go-name: ColorMode
        content:
          type: string
          x-go-name: Content
        displayMode:
          type: string
          x-go-name: DisplayMode
        graphMode:
          type: string
          x-go-name: GraphMode
        justifyMode:
          type: string
          x-go-name: JustifyMode
        mode:
          type: string
          x-go-name: Mode
        orientation:
          type: string
          x-go-name: Orientation
        reduceOptions:
          properties:
            calcs:
              items:
                type: string
              type: array
              x-go-name: Calcs
            fields:
              type: string
              x-go-name: Fields
            values:
              type: boolean
              x-go-name: Values
          type: object
          x-go-name: ReduceOptions
        textMode:
          type: string
          x-go-name: TextMode
      type: object
      x-go-package: github.com/grafana-tools/sdk
    OwnerReference:
      description: |-
        OwnerReference contains enough information to let you identify an owning
        object. An owning object must be in the same namespace as the dependent, or
        be cluster-scoped, so there is no namespace field.
      properties:
        apiVersion:
          description: API version of the referent.
          type: string
          x-go-name: APIVersion
        blockOwnerDeletion:
          description: |-
            If true, AND if the owner has the "foregroundDeletion" finalizer, then
            the owner cannot be deleted from the key-value store until this
            reference is removed.
            Defaults to false.
            To set this field, a user needs "delete" permission of the owner,
            otherwise 422 (Unprocessable Entity) will be returned.
            +optional
          type: boolean
          x-go-name: BlockOwnerDeletion
        controller:
          description: |-
            If true, this reference points to the managing controller.
            +optional
          type: boolean
          x-go-name: Controller
        kind:
          description: |-
            Kind of the referent.
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
          type: string
          x-go-name: Kind
        name:
          description: |-
            Name of the referent.
            More info: http://kubernetes.io/docs/user-guide/identifiers#names
          type: string
          x-go-name: Name
        uid:
          $ref: "#/components/schemas/UID"
      type: object
      x-go-package: k8s.io/apimachinery/pkg/apis/meta/v1
    Panel:
      properties:
        alert:
          $ref: "#/components/schemas/Alert"
        aliasColors:
          type: object
          x-go-name: AliasColors
        bars:
          type: boolean
          x-go-name: Bars
        cards:
          properties:
            cardPadding:
              format: double
              type: number
              x-go-name: CardPadding
            cardRound:
              format: double
              type: number
              x-go-name: CardRound
          type: object
          x-go-name: Cards
        collapsed:
          type: boolean
          x-go-name: Collapsed
        color:
          properties:
            cardColor:
              type: string
              x-go-name: CardColor
            colorScale:
              type: string
              x-go-name: ColorScale
            colorScheme:
              type: string
              x-go-name: ColorScheme
            exponent:
              format: double
              type: number
              x-go-name: Exponent
            max:
              format: double
              type: number
              x-go-name: Max
            min:
              format: double
              type: number
              x-go-name: Min
            mode:
              type: string
              x-go-name: Mode
          type: object
          x-go-name: Color
        colorBackground:
          type: boolean
          x-go-name: ColorBackground
        colorValue:
          type: boolean
          x-go-name: ColorValue
        colors:
          items:
            type: string
          type: array
          x-go-name: Colors
        columns:
          items:
            $ref: "#/components/schemas/Column"
          type: array
          x-go-name: Columns
        content:
          type: string
          x-go-name: Content
        dashLength:
          format: uint64
          type: integer
          x-go-name: DashLength
        dashboardTags:
          items:
            type: string
          type: array
          x-go-name: DashboardTags
        dashes:
          type: boolean
          x-go-name: Dashes
        dataFormat:
          type: string
          x-go-name: DataFormat
        datasource:
          type: string
          x-go-name: Datasource
        decimals:
          format: int64
          type: integer
          x-go-name: Decimals
        description:
          type: string
          x-go-name: Description
        editable:
          type: boolean
          x-go-name: Editable
        error:
          type: boolean
          x-go-name: Error
        fieldConfig:
          $ref: "#/components/schemas/FieldConfig"
        fill:
          format: int64
          type: integer
          x-go-name: Fill
        folderId:
          format: int64
          type: integer
          x-go-name: FolderID
        format:
          type: string
          x-go-name: Format
        gauge:
          $ref: "#/components/schemas/Gauge"
        gridPos:
          properties:
            h:
              format: int64
              type: integer
              x-go-name: H
            w:
              format: int64
              type: integer
              x-go-name: W
            x:
              format: int64
              type: integer
              x-go-name: X
            y:
              format: int64
              type: integer
              x-go-name: Y
          type: object
          x-go-name: GridPos
        headings:
          type: boolean
          x-go-name: Headings
        height:
          type: object
          x-go-name: Height
        hideTimeOverride:
          type: boolean
          x-go-name: HideTimeOverride
        hideZeroBuckets:
          type: boolean
          x-go-name: HideZeroBuckets
        highlightCards:
          type: boolean
          x-go-name: HighlightCards
        id:
          format: uint64
          type: integer
          x-go-name: ID
        isNew:
          type: boolean
          x-go-name: IsNew
        leftYAxisLabel:
          type: string
          x-go-name: LeftYAxisLabel
        legend:
          $ref: "#/components/schemas/Legend"
        limit:
          format: int64
          type: integer
          x-go-name: Limit
        lines:
          type: boolean
          x-go-name: Lines
        linewidth:
          format: uint64
          type: integer
          x-go-name: Linewidth
        links:
          items:
            $ref: "#/components/schemas/Link"
          type: array
          x-go-name: Links
        mappingType:
          format: uint64
          type: integer
          x-go-name: MappingType
        mappingTypes:
          items:
            $ref: "#/components/schemas/MapType"
          type: array
          x-go-name: MappingTypes
        maxDataPoints:
          $ref: "#/components/schemas/IntString"
        minSpan:
          format: float
          type: number
          x-go-name: MinSpan
        mode:
          type: string
          x-go-name: Mode
        nameFilter:
          type: string
          x-go-name: NameFilter
        nullPointMode:
          type: string
          x-go-name: NullPointMode
        onlyAlertsOnDashboard:
          type: boolean
          x-go-name: OnlyAlertsOnDashboard
        options:
          $ref: "#/components/schemas/Options"
        pageSize:
          format: uint64
          type: integer
          x-go-name: PageSize
        panels:
          items:
            $ref: "#/components/schemas/Panel"
          type: array
          x-go-name: Panels
        percentage:
          type: boolean
          x-go-name: Percentage
        pointradius:
          format: float
          type: number
          x-go-name: Pointradius
        points:
          type: boolean
          x-go-name: Points
        postfix:
          type: string
          x-go-name: Postfix
        postfixFontSize:
          type: string
          x-go-name: PostfixFontSize
        prefix:
          type: string
          x-go-name: Prefix
        prefixFontSize:
          type: string
          x-go-name: PrefixFontSize
        query:
          type: string
          x-go-name: Query
        rangeMaps:
          items:
            $ref: "#/components/schemas/RangeMap"
          type: array
          x-go-name: RangeMaps
        recent:
          type: boolean
          x-go-name: Recent
        renderer:
          type: string
          x-go-name: Renderer
        repeat:
          type: string
          x-go-name: Repeat
        repeatPanelId:
          description: RepeatIteration *int64   `json:"repeatIteration,omitempty"`
          format: uint64
          type: integer
          x-go-name: RepeatPanelID
        reverseYBuckets:
          type: boolean
          x-go-name: ReverseYBuckets
        rightYAxisLabel:
          type: string
          x-go-name: RightYAxisLabel
        scopedVars:
          additionalProperties:
            properties:
              selected:
                type: boolean
                x-go-name: Selected
              text:
                type: string
                x-go-name: Text
              value:
                type: string
                x-go-name: Value
            type: object
          type: object
          x-go-name: ScopedVars
        scroll:
          type: boolean
          x-go-name: Scroll
        search:
          type: boolean
          x-go-name: Search
        seriesOverrides:
          items:
            $ref: "#/components/schemas/SeriesOverride"
          type: array
          x-go-name: SeriesOverrides
        show:
          type: string
          x-go-name: Show
        showHeader:
          type: boolean
          x-go-name: ShowHeader
        sort:
          $ref: "#/components/schemas/Sort"
        sortOrder:
          format: int64
          type: integer
          x-go-name: SortOrder
        spaceLength:
          format: uint64
          type: integer
          x-go-name: SpaceLength
        span:
          format: float
          type: number
          x-go-name: Span
        sparkline:
          $ref: "#/components/schemas/SparkLine"
        stack:
          type: boolean
          x-go-name: Stack
        starred:
          type: boolean
          x-go-name: Starred
        stateFilter:
          items:
            type: string
          type: array
          x-go-name: StateFilter
        steppedLine:
          type: boolean
          x-go-name: SteppedLine
        styles:
          items:
            $ref: "#/components/schemas/ColumnStyle"
          type: array
          x-go-name: Styles
        tags:
          items:
            type: string
          type: array
          x-go-name: Tags
        targets:
          items:
            $ref: "#/components/schemas/Target"
          type: array
          x-go-name: Targets
        thresholds:
          items:
            $ref: "#/components/schemas/Threshold"
          type: string
          x-go-name: Thresholds
        timeFrom:
          type: string
          x-go-name: TimeFrom
        timeShift:
          type: string
          x-go-name: TimeShift
        title:
          type: string
          x-go-name: Title
        tooltip:
          $ref: "#/components/schemas/Tooltip"
        tooltipDecimals:
          format: int64
          type: integer
          x-go-name: TooltipDecimals
        transform:
          type: string
          x-go-name: Transform
        transparent:
          type: boolean
          x-go-name: Transparent
        type:
          type: string
          x-go-name: Type
        valueFontSize:
          type: string
          x-go-name: ValueFontSize
        valueMaps:
          items:
            $ref: "#/components/schemas/ValueMap"
          type: array
          x-go-name: ValueMaps
        valueName:
          type: string
          x-go-name: ValueName
        x-axis:
          type: boolean
          x-go-name: XAxis
        xAxis:
          properties:
            show:
              type: boolean
              x-go-name: Show
          type: object
          x-go-name: XAxis
        xBucketNumber:
          format: double
          type: number
          x-go-name: XBucketNumber
        xBucketSize:
          type: string
          x-go-name: XBucketSize
        xaxis:
          $ref: "#/components/schemas/Axis"
        y-axis:
          type: boolean
          x-go-name: YAxis
        yAxis:
          properties:
            decimals:
              format: int64
              type: integer
              x-go-name: Decimals
            format:
              type: string
              x-go-name: Format
            logBase:
              format: int64
              type: integer
              x-go-name: LogBase
            max:
              type: string
              x-go-name: Max
            min:
              type: string
              x-go-name: Min
            show:
              type: boolean
              x-go-name: Show
            splitFactor:
              format: double
              type: number
              x-go-name: SplitFactor
          type: object
          x-go-name: YAxis
        yBucketBound:
          type: string
          x-go-name: YBucketBound
        yBucketNumber:
          format: double
          type: number
          x-go-name: YBucketNumber
        yBucketSize:
          format: double
          type: number
          x-go-name: YBucketSize
        y_formats:
          items:
            type: string
          type: array
          x-go-name: YFormats
        yaxes:
          items:
            $ref: "#/components/schemas/Axis"
          type: array
          x-go-name: Yaxes
      type: object
      x-go-package: github.com/grafana-tools/sdk
    PatternsAPIResponse:
      description: PatternsAPIResponse response retruned by patternfile endpoint on meshery server
      properties:
        page:
          format: uint64
          type: integer
          x-go-name: Page
        page_size:
          format: uint64
          type: integer
          x-go-name: PageSize
        patterns:
          items:
            $ref: "#/components/schemas/MesheryPattern"
          type: array
          x-go-name: Patterns
        total_count:
          format: uint64
          type: integer
          x-go-name: TotalCount
      type: object
      x-go-package: github.com/layer5io/meshery/models
    PerformanceProfile:
      description: |-
        PerformanceProfile represents the performance profile that needs
        to be saved
      properties:
        concurrent_request:
          format: int64
          type: integer
          x-go-name: ConcurrentRequest
        content_type:
          type: string
          x-go-name: ContentType
        created_at:
          $ref: "#/components/schemas/Time"
        duration:
          type: string
          x-go-name: Duration
        endpoints:
          $ref: "#/components/schemas/StringArray"
        id:
          $ref: "#/components/schemas/UUID"
        last_run:
          $ref: "#/components/schemas/Time"
        load_generators:
          $ref: "#/components/schemas/StringArray"
        name:
          type: string
          x-go-name: Name
        qps:
          format: int64
          type: integer
          x-go-name: QPS
        request_body:
          type: string
          x-go-name: RequestBody
        request_cookies:
          type: string
          x-go-name: RequestCookies
        request_headers:
          type: string
          x-go-name: RequestHeaders
        schedule:
          $ref: "#/components/schemas/UUID"
        service_mesh:
          type: string
          x-go-name: ServiceMesh
        total_results:
          format: int64
          type: integer
          x-go-name: TotalResults
        updated_at:
          $ref: "#/components/schemas/Time"
      type: object
      x-go-package: github.com/layer5io/meshery/models
    PerformanceProfileParameters:
      description: PerformanceProfileParameters structs contains parameters to save a performance profile
      properties:
        concurrent_request:
          description: number of concurrent requests
          format: int64
          type: integer
          x-go-name: ConcurrentRequest
        duration:
          description: duration of tests e.g. 30s
          type: string
          x-go-name: Duration
        endpoints:
          description: array of urls of performance results
          items:
            type: string
          type: array
          x-go-name: Endpoints
        load_generators:
          description: array of load generators
          items:
            type: string
          type: array
          x-go-name: LoadGenerators
        name:
          description: name of performance profile
          type: string
          x-go-name: Name
        qps:
          description: qps in integer
          format: int64
          type: integer
          x-go-name: QPS
        service_mesh:
          description: service mesh for performance tests
          type: string
          x-go-name: ServiceMesh
      type: object
      x-go-package: github.com/layer5io/meshery/models
    PerformanceProfilesAPIResponse:
      description: PerformanceProfilesAPIResponse response retruned by performance endpoint on meshery server
      properties:
        page:
          format: uint64
          type: integer
          x-go-name: Page
        page_size:
          format: uint64
          type: integer
          x-go-name: PageSize
        profiles:
          items:
            $ref: "#/components/schemas/PerformanceProfile"
          type: array
          x-go-name: Profiles
        total_count:
          format: uint64
          type: integer
          x-go-name: TotalCount
      type: object
      x-go-package: github.com/layer5io/meshery/models
    PerformanceResult:
      description: PerformanceResult represents the result of a performance test
      properties:
        mesh:
          type: string
          x-go-name: Mesh
        meshery_id:
          $ref: "#/components/schemas/UUID"
        name:
          type: string
          x-go-name: Name
        performance_profile:
          $ref: "#/components/schemas/UUID"
        runner_results:
          $ref: "#/components/schemas/RunnerResults"
        server_board_config:
          type: object
          x-go-name: ServerBoardConfig
        server_metrics:
          type: object
          x-go-name: ServerMatrics
        test_start_time:
          format: date-time
          type: string
          x-go-name: TestStartTime
        user_id:
          $ref: "#/components/schemas/UUID"
      type: object
      x-go-package: github.com/layer5io/meshery/models
    PerformanceResultsAPIResponse:
      description: PerformanceResultsAPIResponse response retruned by performance endpoint on meshery server
      properties:
        page:
          format: uint64
          type: integer
          x-go-name: Page
        page_size:
          format: uint64
          type: integer
          x-go-name: PageSize
        results:
          items:
            $ref: "#/components/schemas/PerformanceResult"
          type: array
          x-go-name: Results
        total_count:
          format: uint64
          type: integer
          x-go-name: TotalCount
      type: object
      x-go-package: github.com/layer5io/meshery/models
    PerformanceSpec:
      description: PerformanceSpec - represents SMP, see here https://github.com/layer5io/service-mesh-performance-specification
      properties:
        ActualQPS:
          format: double
          type: number
        DetailsURI:
          type: string
        EndTime:
          format: date-time
          type: string
        EnvID:
          type: string
        Latencies:
          $ref: "#/components/schemas/LatenciesMs"
        MeshConfigID:
          type: string
        SMPVersion:
          type: string
        StartTime:
          format: date-time
          type: string
        TestID:
          type: string
      type: object
      x-go-package: github.com/layer5io/meshery/models
    PerformanceTestConfig:
      properties:
        clients:
          description: Single or distributed load generators
          items:
            $ref: "#/components/schemas/PerformanceTestConfig_Client"
          type: array
          x-go-name: Clients
        duration:
          description: Length of time the endpoint will be under load
          type: string
          x-go-name: Duration
        id:
          type: string
          x-go-name: Id
        labels:
          additionalProperties:
            type: string
          type: object
          x-go-name: Labels
        name:
          type: string
          x-go-name: Name
        smp_version:
          description: Spec version
          type: string
          x-go-name: SmpVersion
      type: object
      x-go-package: github.com/layer5io/service-mesh-performance/spec
    PerformanceTestConfig_Client:
      properties:
        body:
          type: string
          x-go-name: Body
        connections:
          format: int32
          type: integer
          x-go-name: Connections
        content_type:
          type: string
          x-go-name: ContentType
        cookies:
          additionalProperties:
            type: string
          type: object
          x-go-name: Cookies
        endpoint_urls:
          items:
            type: string
          type: array
          x-go-name: EndpointUrls
        headers:
          additionalProperties:
            type: string
          type: object
          x-go-name: Headers
        internal:
          type: boolean
          x-go-name: Internal
        load_generator:
          type: string
          x-go-name: LoadGenerator
        protocol:
          $ref: "#/components/schemas/PerformanceTestConfig_Client_Protocol"
        rps:
          format: int64
          type: integer
          x-go-name: Rps
      type: object
      x-go-package: github.com/layer5io/service-mesh-performance/spec
    PerformanceTestConfig_Client_Protocol:
      format: int32
      type: integer
      x-go-package: github.com/layer5io/service-mesh-performance/spec
    PerformanceTestParameters:
      description: PerformanceTestParameters contains parameters to run a performance test
      properties:
        c:
          description: concurrent request in number
          format: int64
          type: integer
          x-go-name: ConcurrentRequest
        dur:
          description: duration e.g. s for second
          type: string
          x-go-name: Duration
        loadGenerator:
          description: load generator for performance test
          type: string
          x-go-name: LoadGenerator
        mesh:
          description: service mesh for performance test
          type: string
          x-go-name: ServiceMesh
        name:
          description: name of performance test
          type: string
          x-go-name: Name
        qps:
          description: qps in number
          format: int64
          type: integer
          x-go-name: QPS
        t:
          description: time in integer e.g. 30
          format: int64
          type: integer
          x-go-name: Time
        url:
          description: url for test
          type: string
          x-go-name: URL
        uuid:
          description: test-id of pre-existing test
          format: uuid
          type: string
          x-go-name: TestID
      x-go-package: github.com/layer5io/meshery/models
    Plugin:
      description: Plugin A plugin for the Engine API
      properties:
        Config:
          $ref: "#/components/schemas/PluginConfig"
        Enabled:
          description: True if the plugin is running. False if the plugin is not running, only installed.
          type: boolean
        Id:
          description: Id
          type: string
          x-go-name: ID
        Name:
          description: name
          type: string
        PluginReference:
          description: plugin remote reference used to push/pull the plugin
          type: string
        Settings:
          $ref: "#/components/schemas/PluginSettings"
      required:
        - Config
        - Enabled
        - Name
        - Settings
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginConfig:
      properties:
        Args:
          $ref: "#/components/schemas/PluginConfigArgs"
        Description:
          description: description
          type: string
        DockerVersion:
          description: Docker Version used to create the plugin
          type: string
        Documentation:
          description: documentation
          type: string
        Entrypoint:
          description: entrypoint
          items:
            type: string
          type: array
        Env:
          description: env
          items:
            $ref: "#/components/schemas/PluginEnv"
          type: array
        Interface:
          $ref: "#/components/schemas/PluginConfigInterface"
        IpcHost:
          description: ipc host
          type: boolean
        Linux:
          $ref: "#/components/schemas/PluginConfigLinux"
        Mounts:
          description: mounts
          items:
            $ref: "#/components/schemas/PluginMount"
          type: array
        Network:
          $ref: "#/components/schemas/PluginConfigNetwork"
        PidHost:
          description: pid host
          type: boolean
        PropagatedMount:
          description: propagated mount
          type: string
        User:
          $ref: "#/components/schemas/PluginConfigUser"
        WorkDir:
          description: work dir
          type: string
        rootfs:
          $ref: "#/components/schemas/PluginConfigRootfs"
      required:
        - Args
        - Description
        - Documentation
        - Entrypoint
        - Env
        - Interface
        - IpcHost
        - Linux
        - Mounts
        - Network
        - PidHost
        - PropagatedMount
        - WorkDir
      title: PluginConfig The config of a plugin.
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginConfigArgs:
      description: PluginConfigArgs plugin config args
      properties:
        Description:
          description: description
          type: string
        Name:
          description: name
          type: string
        Settable:
          description: settable
          items:
            type: string
          type: array
        Value:
          description: value
          items:
            type: string
          type: array
      required:
        - Description
        - Name
        - Settable
        - Value
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginConfigInterface:
      description: PluginConfigInterface The interface between Docker and the plugin
      properties:
        ProtocolScheme:
          description: Protocol to use for clients connecting to the plugin.
          type: string
        Socket:
          description: socket
          type: string
        Types:
          description: types
          items:
            $ref: "#/components/schemas/PluginInterfaceType"
          type: array
      required:
        - Socket
        - Types
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginConfigLinux:
      description: PluginConfigLinux plugin config linux
      properties:
        AllowAllDevices:
          description: allow all devices
          type: boolean
        Capabilities:
          description: capabilities
          items:
            type: string
          type: array
        Devices:
          description: devices
          items:
            $ref: "#/components/schemas/PluginDevice"
          type: array
      required:
        - AllowAllDevices
        - Capabilities
        - Devices
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginConfigNetwork:
      description: PluginConfigNetwork plugin config network
      properties:
        Type:
          description: type
          type: string
      required:
        - Type
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginConfigRootfs:
      description: PluginConfigRootfs plugin config rootfs
      properties:
        diff_ids:
          description: diff ids
          items:
            type: string
          type: array
          x-go-name: DiffIds
        type:
          description: type
          type: string
          x-go-name: Type
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginConfigUser:
      description: PluginConfigUser plugin config user
      properties:
        GID:
          description: g ID
          format: uint32
          type: integer
        UID:
          description: UID
          format: uint32
          type: integer
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginDevice:
      description: PluginDevice plugin device
      properties:
        Description:
          description: description
          type: string
        Name:
          description: name
          type: string
        Path:
          description: path
          type: string
        Settable:
          description: settable
          items:
            type: string
          type: array
      required:
        - Description
        - Name
        - Path
        - Settable
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginEnv:
      description: PluginEnv plugin env
      properties:
        Description:
          description: description
          type: string
        Name:
          description: name
          type: string
        Settable:
          description: settable
          items:
            type: string
          type: array
        Value:
          description: value
          type: string
      required:
        - Description
        - Name
        - Settable
        - Value
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginInterfaceType:
      description: PluginInterfaceType plugin interface type
      properties:
        Capability:
          description: capability
          type: string
        Prefix:
          description: prefix
          type: string
        Version:
          description: version
          type: string
      required:
        - Capability
        - Prefix
        - Version
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginMount:
      description: PluginMount plugin mount
      properties:
        Description:
          description: description
          type: string
        Destination:
          description: destination
          type: string
        Name:
          description: name
          type: string
        Options:
          description: options
          items:
            type: string
          type: array
        Settable:
          description: settable
          items:
            type: string
          type: array
        Source:
          description: source
          type: string
        Type:
          description: type
          type: string
      required:
        - Description
        - Destination
        - Name
        - Options
        - Settable
        - Source
        - Type
      type: object
      x-go-package: github.com/docker/docker/api/types
    PluginSettings:
      properties:
        Args:
          description: args
          items:
            type: string
          type: array
        Devices:
          description: devices
          items:
            $ref: "#/components/schemas/PluginDevice"
          type: array
        Env:
          description: env
          items:
            type: string
          type: array
        Mounts:
          description: mounts
          items:
            $ref: "#/components/schemas/PluginMount"
          type: array
      required:
        - Args
        - Devices
        - Env
        - Mounts
      title: PluginSettings Settings that can be modified by users.
      type: object
      x-go-package: github.com/docker/docker/api/types
    Port:
      description: Port An open port on a container
      properties:
        IP:
          description: Host IP address that the container's port is mapped to
          type: string
        PrivatePort:
          description: Port on the container
          format: uint16
          type: integer
        PublicPort:
          description: Port exposed on the host
          format: uint16
          type: integer
        Type:
          description: type
          type: string
      required:
        - PrivatePort
        - Type
      type: object
      x-go-package: github.com/docker/docker/api/types
    Preference:
      description: Preference represents the data stored in session / local DB
      properties:
        anonymousPerfResults:
          type: boolean
          x-go-name: AnonymousPerfResults
        anonymousUsageStats:
          type: boolean
          x-go-name: AnonymousUsageStats
        grafana:
          $ref: "#/components/schemas/Grafana"
        k8sConfig:
          $ref: "#/components/schemas/K8SConfig"
        loadTestPrefs:
          $ref: "#/components/schemas/LoadTestPreferences"
        meshAdapters:
          items:
            $ref: "#/components/schemas/Adapter"
          type: array
          x-go-name: MeshAdapters
        prometheus:
          $ref: "#/components/schemas/Prometheus"
        updated_at:
          format: date-time
          type: string
          x-go-name: UpdatedAt
      type: object
      x-go-package: github.com/layer5io/meshery/models
    PreferenceParams:
      description: Parameters to updates Anonymous stats
      properties:
        anonymousPerfResults:
          type: boolean
          x-go-name: AnonymousPerfResults
        anonymousUsageStats:
          type: boolean
          x-go-name: AnonymousUsageStats
      type: object
      x-go-package: github.com/layer5io/meshery/models
    Prometheus:
      description: Prometheus represents the prometheus session config
      properties:
        prometheusURL:
          type: string
          x-go-name: PrometheusURL
        selectedPrometheusBoardsConfigs:
          items:
            $ref: "#/components/schemas/SelectedGrafanaConfig"
          type: array
          x-go-name: SelectedPrometheusBoardsConfigs
      type: object
      x-go-package: github.com/layer5io/meshery/models
    Protocol:
      title: Protocol defines network protocols supported for things like container ports.
      type: string
      x-go-package: k8s.io/api/core/v1
    ProviderProperties:
      description: ProviderProperties represents the structure of properties that a provider has
      properties:
        capabilities:
          $ref: "#/components/schemas/Capabilities"
        extensions:
          $ref: "#/components/schemas/Extensions"
        package_url:
          type: string
          x-go-name: PackageURL
        package_version:
          type: string
          x-go-name: PackageVersion
        provider_description:
          items:
            type: string
          type: array
          x-go-name: ProviderDescription
        provider_name:
          type: string
          x-go-name: ProviderName
        provider_type:
          $ref: "#/components/schemas/ProviderType"
        provider_url:
          type: string
          x-go-name: ProviderURL
      type: object
      x-go-package: github.com/layer5io/meshery/models
    ProviderType:
      description: ProviderType - for representing provider types
      type: string
      x-go-package: github.com/layer5io/meshery/models
    RangeMap:
      properties:
        from:
          type: string
          x-go-name: From
        text:
          type: string
          x-go-name: Text
        to:
          type: string
          x-go-name: To
      type: object
      x-go-package: github.com/grafana-tools/sdk
    RunnerResults:
      properties:
        ActualDuration:
          format: uint64
          type: integer
          x-go-name: Duration
        ActualQPS:
          format: double
          type: number
          x-go-name: QPS
        DurationHistogram:
          properties:
            Avg:
              format: double
              type: number
              x-go-name: Average
            Max:
              format: double
              type: number
            Min:
              format: double
              type: number
            Percentiles:
              items:
                properties:
                  Percentile:
                    format: double
                    type: number
                  Value:
                    format: double
                    type: number
                type: object
              type: array
          type: object
        StartTime:
          format: date-time
          type: string
        URL:
          type: string
        load-generator:
          type: string
          x-go-name: LoadGenerator
      type: object
      x-go-package: github.com/layer5io/meshery/models
    Schedule:
      description: Schedule is the struct for representing schedules
      properties:
        cron_expression:
          description: CronExpression is the UNIX cron expression (quartz expression)
          type: string
          x-go-name: CronExpression
        id:
          $ref: "#/components/schemas/UUID"
      type: object
      x-go-package: github.com/layer5io/meshery/models
    SchedulesAPIResponse:
      description: API response model for SchedulesAPI
      properties:
        page:
          format: uint64
          type: integer
          x-go-name: Page
        page_size:
          format: uint64
          type: integer
          x-go-name: PageSize
        schedules:
          items:
            $ref: "#/components/schemas/Schedule"
          type: array
          x-go-name: Schedules
        total_count:
          format: uint64
          type: integer
          x-go-name: TotalCount
      type: object
      x-go-package: github.com/layer5io/meshery/models
    SelectedGrafanaConfig:
      description: SelectedGrafanaConfig represents the selected boards, panels, and template variables
      properties:
        board:
          $ref: "#/components/schemas/GrafanaBoard"
        panels:
          items:
            $ref: "#/components/schemas/Panel"
          type: array
          x-go-name: GrafanaPanels
        templateVars:
          items:
            type: string
          type: array
          x-go-name: SelectedTemplateVars
      type: object
      x-go-package: github.com/layer5io/meshery/models
    SeriesOverride:
      description: for a graph panel
      properties:
        alias:
          type: string
          x-go-name: Alias
        bars:
          type: boolean
          x-go-name: Bars
        color:
          type: string
          x-go-name: Color
        dashes:
          type: boolean
          x-go-name: Dashes
        fill:
          format: int64
          type: integer
          x-go-name: Fill
        fillBelowTo:
          type: string
          x-go-name: FillBelowTo
        legend:
          type: boolean
          x-go-name: Legend
        lines:
          type: boolean
          x-go-name: Lines
        linewidth:
          format: int64
          type: integer
          x-go-name: LineWidth
        nullPointMode:
          type: string
          x-go-name: NullPointMode
        stack:
          $ref: "#/components/schemas/BoolString"
        transform:
          type: string
          x-go-name: Transform
        yaxis:
          format: int64
          type: integer
          x-go-name: YAxis
        zindex:
          format: int64
          type: integer
          x-go-name: ZIndex
      type: object
      x-go-package: github.com/grafana-tools/sdk
    Service:
      description: |-
        Service is a named abstraction of software service (for example, mysql) consisting of local port
        (for example 3306) that the proxy listens on, and the selector that determines which pods
        will answer requests sent through the proxy.
      properties:
        annotations:
          additionalProperties:
            type: string
          description: |-
            Annotations is an unstructured key value map stored with a resource that may be
            set by external tools to store and retrieve arbitrary metadata. They are not
            queryable and should be preserved when modifying objects.
            More info: http://kubernetes.io/docs/user-guide/annotations
            +optional
          type: object
          x-go-name: Annotations
        apiVersion:
          description: |-
            APIVersion defines the versioned schema of this representation of an object.
            Servers should convert recognized schemas to the latest internal value, and
            may reject unrecognized values.
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            +optional
          type: string
          x-go-name: APIVersion
        clusterName:
          description: |-
            The name of the cluster which the object belongs to.
            This is used to distinguish resources with same name and namespace in different clusters.
            This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.
            +optional
          type: string
          x-go-name: ClusterName
        creationTimestamp:
          $ref: "#/components/schemas/Time"
        deletionGracePeriodSeconds:
          description: |-
            Number of seconds allowed for this object to gracefully terminate before
            it will be removed from the system. Only set when deletionTimestamp is also set.
            May only be shortened.
            Read-only.
            +optional
          format: int64
          type: integer
          x-go-name: DeletionGracePeriodSeconds
        deletionTimestamp:
          $ref: "#/components/schemas/Time"
        finalizers:
          description: |-
            Must be empty before the object is deleted from the registry. Each entry
            is an identifier for the responsible component that will remove the entry
            from the list. If the deletionTimestamp of the object is non-nil, entries
            in this list can only be removed.
            Finalizers may be processed and removed in any order.  Order is NOT enforced
            because it introduces significant risk of stuck finalizers.
            finalizers is a shared field, any actor with permission can reorder it.
            If the finalizer list is processed in order, then this can lead to a situation
            in which the component responsible for the first finalizer in the list is
            waiting for a signal (field value, external system, or other) produced by a
            component responsible for a finalizer later in the list, resulting in a deadlock.
            Without enforced ordering finalizers are free to order amongst themselves and
            are not vulnerable to ordering changes in the list.
            +optional
            +patchStrategy=merge
          items:
            type: string
          type: array
          x-go-name: Finalizers
        generateName:
          description: |-
            GenerateName is an optional prefix, used by the server, to generate a unique
            name ONLY IF the Name field has not been provided.
            If this field is used, the name returned to the client will be different
            than the name passed. This value will also be combined with a unique suffix.
            The provided value has the same validation rules as the Name field,
            and may be truncated by the length of the suffix required to make the value
            unique on the server.

            If this field is specified and the generated name exists, the server will
            NOT return a 409 - instead, it will either return 201 Created or 500 with Reason
            ServerTimeout indicating a unique name could not be found in the time allotted, and the client
            should retry (optionally after the time indicated in the Retry-After header).

            Applied only if Name is not specified.
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency
            +optional
          type: string
          x-go-name: GenerateName
        generation:
          description: |-
            A sequence number representing a specific generation of the desired state.
            Populated by the system. Read-only.
            +optional
          format: int64
          type: integer
          x-go-name: Generation
        kind:
          description: |-
            Kind is a string value representing the REST resource this object represents.
            Servers may infer this from the endpoint the client submits requests to.
            Cannot be updated.
            In CamelCase.
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            +optional
          type: string
          x-go-name: Kind
        labels:
          additionalProperties:
            type: string
          description: |-
            Map of string keys and values that can be used to organize and categorize
            (scope and select) objects. May match selectors of replication controllers
            and services.
            More info: http://kubernetes.io/docs/user-guide/labels
            +optional
          type: object
          x-go-name: Labels
        managedFields:
          description: |-
            ManagedFields maps workflow-id and version to the set of fields
            that are managed by that workflow. This is mostly for internal
            housekeeping, and users typically shouldn't need to set or
            understand this field. A workflow can be the user's name, a
            controller's name, or the name of a specific apply path like
            "ci-cd". The set of fields is always in the version that the
            workflow used when modifying the object.

            +optional
          items:
            $ref: "#/components/schemas/ManagedFieldsEntry"
          type: array
          x-go-name: ManagedFields
        name:
          description: |-
            Name must be unique within a namespace. Is required when creating resources, although
            some resources may allow a client to request the generation of an appropriate name
            automatically. Name is primarily intended for creation idempotence and configuration
            definition.
            Cannot be updated.
            More info: http://kubernetes.io/docs/user-guide/identifiers#names
            +optional
          type: string
          x-go-name: Name
        namespace:
          description: |-
            Namespace defines the space within each name must be unique. An empty namespace is
            equivalent to the "default" namespace, but "default" is the canonical representation.
            Not all objects are required to be scoped to a namespace - the value of this field for
            those objects will be empty.

            Must be a DNS_LABEL.
            Cannot be updated.
            More info: http://kubernetes.io/docs/user-guide/namespaces
            +optional
          type: string
          x-go-name: Namespace
        ownerReferences:
          description: |-
            List of objects depended by this object. If ALL objects in the list have
            been deleted, this object will be garbage collected. If this object is managed by a controller,
            then an entry in this list will point to this controller, with the controller field set to true.
            There cannot be more than one managing controller.
            +optional
            +patchMergeKey=uid
            +patchStrategy=merge
          items:
            $ref: "#/components/schemas/OwnerReference"
          type: array
          x-go-name: OwnerReferences
        resourceVersion:
          description: |-
            An opaque value that represents the internal version of this object that can
            be used by clients to determine when objects have changed. May be used for optimistic
            concurrency, change detection, and the watch operation on a resource or set of resources.
            Clients must treat these values as opaque and passed unmodified back to the server.
            They may only be valid for a particular resource or set of resources.

            Populated by the system.
            Read-only.
            Value must be treated as opaque by clients and .
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
            +optional
          type: string
          x-go-name: ResourceVersion
        selfLink:
          description: |-
            SelfLink is a URL representing this object.
            Populated by the system.
            Read-only.

            DEPRECATED
            Kubernetes will stop propagating this field in 1.20 release and the field is planned
            to be removed in 1.21 release.
            +optional
          type: string
          x-go-name: SelfLink
        spec:
          $ref: "#/components/schemas/ServiceSpec"
        status:
          $ref: "#/components/schemas/ServiceStatus"
        uid:
          $ref: "#/components/schemas/UID"
      type: object
      x-go-package: k8s.io/api/core/v1
    ServiceAffinity:
      description: Session Affinity Type string
      type: string
      x-go-package: k8s.io/api/core/v1
    ServiceExternalTrafficPolicyType:
      description: Service External Traffic Policy Type string
      type: string
      x-go-package: k8s.io/api/core/v1
    ServicePort:
      properties:
        appProtocol:
          description: |-
            The application protocol for this port.
            This field follows standard Kubernetes label syntax.
            Un-prefixed names are reserved for IANA standard service names (as per
            RFC-6335 and http://www.iana.org/assignments/service-names).
            Non-standard protocols should use prefixed names such as
            mycompany.com/my-custom-protocol.
            Field can be enabled with ServiceAppProtocol feature gate.
            +optional
          type: string
          x-go-name: AppProtocol
        name:
          description: |-
            The name of this port within the service. This must be a DNS_LABEL.
            All ports within a ServiceSpec must have unique names. When considering
            the endpoints for a Service, this must match the 'name' field in the
            EndpointPort.
            Optional if only one ServicePort is defined on this service.
            +optional
          type: string
          x-go-name: Name
        nodePort:
          description: |-
            The port on each node on which this service is exposed when type=NodePort or LoadBalancer.
            Usually assigned by the system. If specified, it will be allocated to the service
            if unused or else creation of the service will fail.
            Default is to auto-allocate a port if the ServiceType of this Service requires one.
            More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
            +optional
          format: int32
          type: integer
          x-go-name: NodePort
        port:
          description: The port that will be exposed by this service.
          format: int32
          type: integer
          x-go-name: Port
        protocol:
          $ref: "#/components/schemas/Protocol"
        targetPort:
          $ref: "#/components/schemas/IntOrString"
      title: ServicePort contains information on service's port.
      type: object
      x-go-package: k8s.io/api/core/v1
    ServiceSpec:
      properties:
        clusterIP:
          description: |-
            clusterIP is the IP address of the service and is usually assigned
            randomly by the master. If an address is specified manually and is not in
            use by others, it will be allocated to the service; otherwise, creation
            of the service will fail. This field can not be changed through updates.
            Valid values are "None", empty string (""), or a valid IP address. "None"
            can be specified for headless services when proxying is not required.
            Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if
            type is ExternalName.
            More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
            +optional
          type: string
          x-go-name: ClusterIP
        externalIPs:
          description: |-
            externalIPs is a list of IP addresses for which nodes in the cluster
            will also accept traffic for this service.  These IPs are not managed by
            Kubernetes.  The user is responsible for ensuring that traffic arrives
            at a node with this IP.  A common example is external load-balancers
            that are not part of the Kubernetes system.
            +optional
          items:
            type: string
          type: array
          x-go-name: ExternalIPs
        externalName:
          description: |-
            externalName is the external reference that kubedns or equivalent will
            return as a CNAME record for this service. No proxying will be involved.
            Must be a valid RFC-1123 hostname (https://tools.ietf.org/html/rfc1123)
            and requires Type to be ExternalName.
            +optional
          type: string
          x-go-name: ExternalName
        externalTrafficPolicy:
          $ref: "#/components/schemas/ServiceExternalTrafficPolicyType"
        healthCheckNodePort:
          description: |-
            healthCheckNodePort specifies the healthcheck nodePort for the service.
            If not specified, HealthCheckNodePort is created by the service api
            backend with the allocated nodePort. Will use user-specified nodePort value
            if specified by the client. Only effects when Type is set to LoadBalancer
            and ExternalTrafficPolicy is set to Local.
            +optional
          format: int32
          type: integer
          x-go-name: HealthCheckNodePort
        ipFamily:
          $ref: "#/components/schemas/IPFamily"
        loadBalancerIP:
          description: |-
            Only applies to Service Type: LoadBalancer
            LoadBalancer will get created with the IP specified in this field.
            This feature depends on whether the underlying cloud-provider supports specifying
            the loadBalancerIP when a load balancer is created.
            This field will be ignored if the cloud-provider does not support the feature.
            +optional
          type: string
          x-go-name: LoadBalancerIP
        loadBalancerSourceRanges:
          description: |-
            If specified and supported by the platform, this will restrict traffic through the cloud-provider
            load-balancer will be restricted to the specified client IPs. This field will be ignored if the
            cloud-provider does not support the feature."
            More info: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/
            +optional
          items:
            type: string
          type: array
          x-go-name: LoadBalancerSourceRanges
        ports:
          description: |-
            The list of ports that are exposed by this service.
            More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
            +patchMergeKey=port
            +patchStrategy=merge
            +listType=map
            +listMapKey=port
            +listMapKey=protocol
          items:
            $ref: "#/components/schemas/ServicePort"
          type: array
          x-go-name: Ports
        publishNotReadyAddresses:
          description: |-
            publishNotReadyAddresses, when set to true, indicates that DNS implementations
            must publish the notReadyAddresses of subsets for the Endpoints associated with
            the Service. The default value is false.
            The primary use case for setting this field is to use a StatefulSet's Headless Service
            to propagate SRV records for its Pods without respect to their readiness for purpose
            of peer discovery.
            +optional
          type: boolean
          x-go-name: PublishNotReadyAddresses
        selector:
          additionalProperties:
            type: string
          description: |-
            Route service traffic to pods with label keys and values matching this
            selector. If empty or not present, the service is assumed to have an
            external process managing its endpoints, which Kubernetes will not
            modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
            Ignored if type is ExternalName.
            More info: https://kubernetes.io/docs/concepts/services-networking/service/
            +optional
          type: object
          x-go-name: Selector
        sessionAffinity:
          $ref: "#/components/schemas/ServiceAffinity"
        sessionAffinityConfig:
          $ref: "#/components/schemas/SessionAffinityConfig"
        topologyKeys:
          description: |-
            topologyKeys is a preference-order list of topology keys which
            implementations of services should use to preferentially sort endpoints
            when accessing this Service, it can not be used at the same time as
            externalTrafficPolicy=Local.
            Topology keys must be valid label keys and at most 16 keys may be specified.
            Endpoints are chosen based on the first topology key with available backends.
            If this field is specified and all entries have no backends that match
            the topology of the client, the service has no backends for that client
            and connections should fail.
            The special value "*" may be used to mean "any topology". This catch-all
            value, if used, only makes sense as the last value in the list.
            If this is not specified or empty, no topology constraints will be applied.
            +optional
          items:
            type: string
          type: array
          x-go-name: TopologyKeys
        type:
          $ref: "#/components/schemas/ServiceType"
      title: ServiceSpec describes the attributes that a user creates on a service.
      type: object
      x-go-package: k8s.io/api/core/v1
    ServiceStatus:
      properties:
        loadBalancer:
          $ref: "#/components/schemas/LoadBalancerStatus"
      title: ServiceStatus represents the current status of a service.
      type: object
      x-go-package: k8s.io/api/core/v1
    ServiceType:
      description: Service Type string describes ingress methods for a service
      type: string
      x-go-package: k8s.io/api/core/v1
    ServiceUpdateResponse:
      description: ServiceUpdateResponse service update response
      properties:
        Warnings:
          description: Optional warning messages
          items:
            type: string
          type: array
      type: object
      x-go-package: github.com/docker/docker/api/types
    SessionAffinityConfig:
      properties:
        clientIP:
          $ref: "#/components/schemas/ClientIPConfig"
      title: SessionAffinityConfig represents the configurations of session affinity.
      type: object
      x-go-package: k8s.io/api/core/v1
    Sort:
      description: for a graph panel
      properties:
        col:
          format: int64
          type: integer
          x-go-name: Col
        desc:
          type: boolean
          x-go-name: Desc
      type: object
      x-go-package: github.com/grafana-tools/sdk
    SparkLine:
      description: for a stat
      properties:
        fillColor:
          type: string
          x-go-name: FillColor
        full:
          type: boolean
          x-go-name: Full
        lineColor:
          type: string
          x-go-name: LineColor
        show:
          type: boolean
          x-go-name: Show
        ymax:
          format: double
          type: number
          x-go-name: YMax
        ymin:
          format: double
          type: number
          x-go-name: YMin
      type: object
      x-go-package: github.com/grafana-tools/sdk
    StackdriverAlignOption:
      description: |-
        StackdriverAlignOption defines a single alignment option shown in Grafana
        during query configuration.
      properties:
        label:
          type: string
          x-go-name: Label
        metricKinds:
          items:
            type: string
          type: array
          x-go-name: MetricKinds
        text:
          type: string
          x-go-name: Text
        value:
          type: string
          x-go-name: Value
        valueTypes:
          items:
            type: string
          type: array
          x-go-name: ValueTypes
      type: object
      x-go-package: github.com/grafana-tools/sdk
    StackdriverAlignOptions:
      description: |-
        StackdriverAlignOptions defines the list of alignment options shown in
        Grafana during query configuration.
      properties:
        expanded:
          type: boolean
          x-go-name: Expanded
        label:
          type: string
          x-go-name: Label
        options:
          items:
            $ref: "#/components/schemas/StackdriverAlignOption"
          type: array
          x-go-name: Options
      type: object
      x-go-package: github.com/grafana-tools/sdk
    StringArray:
      items:
        type: string
      title: StringArray represents a one-dimensional array of the PostgreSQL character types.
      type: array
      x-go-package: github.com/lib/pq
    SupportedOperation:
      properties:
        category:
          $ref: "#/components/schemas/OpCategory"
        key:
          type: string
          x-go-name: Key
        value:
          type: string
          x-go-name: Value
      type: object
      x-go-package: github.com/layer5io/meshery/meshes
    Target:
      description: for an any panel
      properties:
        alias:
          type: string
          x-go-name: Alias
        aliasBy:
          type: string
          x-go-name: AliasBy
        alignOptions:
          items:
            $ref: "#/components/schemas/StackdriverAlignOptions"
          type: array
          x-go-name: AlignOptions
        alignmentPeriod:
          type: string
          x-go-name: AlignmentPeriod
        bucketAggs:
          items:
            properties:
              field:
                type: string
                x-go-name: Field
              id:
                type: string
                x-go-name: ID
              settings:
                properties:
                  interval:
                    type: string
                    x-go-name: Interval
                  min_doc_count:
                    type: object
                    x-go-name: MinDocCount
                  order:
                    type: string
                    x-go-name: Order
                  orderBy:
                    type: string
                    x-go-name: OrderBy
                  size:
                    type: string
                    x-go-name: Size
                type: object
                x-go-name: Settings
              type:
                type: string
                x-go-name: Type
            type: object
          type: array
          x-go-name: BucketAggs
        crossSeriesReducer:
          type: string
          x-go-name: CrossSeriesReducer
        datasource:
          type: string
          x-go-name: Datasource
        dimensions:
          additionalProperties:
            type: string
          type: object
          x-go-name: Dimensions
        dsType:
          description: For Elasticsearch
          type: string
          x-go-name: DsType
        expr:
          description: For Prometheus
          type: string
          x-go-name: Expr
        filters:
          items:
            type: string
          type: array
          x-go-name: Filters
        format:
          type: string
          x-go-name: Format
        group:
          items:
            properties:
              params:
                items:
                  type: string
                type: array
                x-go-name: Params
              type:
                type: string
                x-go-name: Type
            type: object
          type: array
          x-go-name: Group
        groupBys:
          items:
            type: string
          type: array
          x-go-name: GroupBys
        hide:
          type: boolean
          x-go-name: Hide
        instant:
          type: boolean
          x-go-name: Instant
        interval:
          type: string
          x-go-name: Interval
        intervalFactor:
          format: int64
          type: integer
          x-go-name: IntervalFactor
        legendFormat:
          type: string
          x-go-name: LegendFormat
        measurement:
          description: For InfluxDB
          type: string
          x-go-name: Measurement
        metricColumn:
          type: string
          x-go-name: MetricColumn
        metricKind:
          type: string
          x-go-name: MetricKind
        metricName:
          type: string
          x-go-name: MetricName
        metricType:
          type: string
          x-go-name: MetricType
        metrics:
          items:
            properties:
              field:
                type: string
                x-go-name: Field
              id:
                type: string
                x-go-name: ID
              type:
                type: string
                x-go-name: Type
            type: object
          type: array
          x-go-name: Metrics
        namespace:
          description: For CloudWatch
          type: string
          x-go-name: Namespace
        perSeriesAligner:
          type: string
          x-go-name: PerSeriesAligner
        period:
          type: string
          x-go-name: Period
        projectName:
          description: |-
            For the Stackdriver data source. Find out more information at
            https:/grafana.com/docs/grafana/v6.0/features/datasources/stackdriver/
          type: string
          x-go-name: ProjectName
        query:
          type: string
          x-go-name: Query
        rawQuery:
          type: boolean
          x-go-name: RawQuery
        rawSql:
          type: string
          x-go-name: RawSql
        refId:
          type: string
          x-go-name: RefID
        region:
          type: string
          x-go-name: Region
        select:
          items:
            items:
              properties:
                params:
                  items:
                    type: string
                  type: array
                  x-go-name: Params
                type:
                  type: string
                  x-go-name: Type
              type: object
            type: array
          type: array
          x-go-name: Select
        statistics:
          items:
            type: string
          type: array
          x-go-name: Statistics
        step:
          format: int64
          type: integer
          x-go-name: Step
        table:
          description: For PostgreSQL
          type: string
          x-go-name: Table
        target:
          description: For Graphite
          type: string
          x-go-name: Target
        timeColumn:
          type: string
          x-go-name: TimeColumn
        timeField:
          type: string
          x-go-name: TimeField
        valueType:
          type: string
          x-go-name: ValueType
        where:
          items:
            properties:
              datatype:
                type: string
                x-go-name: Datatype
              name:
                type: string
                x-go-name: Name
              params:
                items:
                  type: string
                type: array
                x-go-name: Params
              type:
                type: string
                x-go-name: Type
            type: object
          type: array
          x-go-name: Where
      type: object
      x-go-package: github.com/grafana-tools/sdk
    Threshold:
      properties:
        colorMode:
          description: critical, warning, ok, custom
          type: string
          x-go-name: ColorMode
        fill:
          type: boolean
          x-go-name: Fill
        fillColor:
          description: 'hexadecimal color (e.g. #629e51, only when ColorMode is "custom")'
          type: string
          x-go-name: FillColor
        line:
          type: boolean
          x-go-name: Line
        lineColor:
          description: 'hexadecimal color (e.g. #629e51, only when ColorMode is "custom")'
          type: string
          x-go-name: LineColor
        op:
          description: gt or lt
          type: string
          x-go-name: Op
        value:
          description: |-
            the alert threshold value, we do not omitempty, since 0 is a valid
            threshold
          format: float
          type: number
          x-go-name: Value
        yaxis:
          description: left or right
          type: string
          x-go-name: Yaxis
      type: object
      x-go-package: github.com/grafana-tools/sdk
    Time:
      description: |-
        +protobuf.options.marshal=false
        +protobuf.as=Timestamp
        +protobuf.options.(gogoproto.goproto_stringer)=false
      title: |-
        Time is a wrapper around time.Time which supports correct
        marshaling to YAML and JSON.  Wrappers are provided for many
        of the factory methods that the time package offers.
      type: object
      x-go-package: k8s.io/apimachinery/pkg/apis/meta/v1
    Tooltip:
      properties:
        msResolution:
          type: boolean
          x-go-name: MsResolution
        shared:
          type: boolean
          x-go-name: Shared
        sort:
          format: int64
          type: integer
          x-go-name: Sort
        value_type:
          type: string
          x-go-name: ValueType
      type: object
      x-go-package: github.com/grafana-tools/sdk
    Type:
      format: int64
      title: Type represents the stored type of IntOrString.
      type: integer
      x-go-package: k8s.io/apimachinery/pkg/util/intstr
    UID:
      description: |-
        UID is a type that holds unique ID values, including UUIDs.  Because we
        don't ONLY use UUIDs, this is an alias to string.  Being a type captures
        intent and helps make sure that UIDs and names do not get conflated.
      type: string
      x-go-package: k8s.io/apimachinery/pkg/types
    UUID:
      items:
        format: uint8
        type: integer
      title: UUID is an array type to represent the value of a UUID, as defined in RFC-4122.
      type: array
      x-go-package: github.com/gofrs/uuid
    UserPrefsExtension:
      description: UserPrefsExtension describes the user preference extension point in the UI
      properties:
        component:
          type: string
          x-go-name: Component
      type: object
      x-go-package: github.com/layer5io/meshery/models
    UserPrefsExtensions:
      description: UserPrefsExtensions is a collection of UserPrefsExtension
      items:
        $ref: "#/components/schemas/UserPrefsExtension"
      type: array
      x-go-package: github.com/layer5io/meshery/models
    ValueMap:
      description: for a stat
      properties:
        op:
          type: string
          x-go-name: Op
        text:
          type: string
          x-go-name: TextType
        value:
          type: string
          x-go-name: Value
      type: object
      x-go-package: github.com/grafana-tools/sdk
    Version:
      properties:
        build:
          type: string
          x-go-name: Build
        commitsha:
          type: string
          x-go-name: CommitSHA
        latest:
          type: string
          x-go-name: Latest
        outdated:
          type: boolean
          x-go-name: Outdated
        release_channel:
          type: string
          x-go-name: ReleaseChannel
      title: Version defines the Json payload structure for version api\
      type: object
      x-go-package: github.com/layer5io/meshery/handlers
    Volume:
      description: Volume volume
      properties:
        CreatedAt:
          description: Date/Time the volume was created.
          type: string
        Driver:
          description: Name of the volume driver used by the volume.
          type: string
        Labels:
          additionalProperties:
            type: string
          description: User-defined key/value metadata.
          type: object
        Mountpoint:
          description: Mount path of the volume on the host.
          type: string
        Name:
          description: Name of the volume.
          type: string
        Options:
          additionalProperties:
            type: string
          description: The driver specific options used when creating the volume.
          type: object
        Scope:
          description: The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level.
          type: string
        Status:
          additionalProperties:
            type: object
          description: |-
            Low-level details about the volume, provided by the volume driver.
            Details are returned as a map with key/value pairs:
            `{"key":"value","key2":"value2"}`.

            The `Status` field is optional, and is omitted if the volume driver
            does not support this feature.
          type: object
        UsageData:
          $ref: "#/components/schemas/VolumeUsageData"
      required:
        - Driver
        - Labels
        - Mountpoint
        - Name
        - Options
        - Scope
      type: object
      x-go-package: github.com/docker/docker/api/types
    VolumeCreateBody:
      description: VolumeCreateBody Volume configuration
      properties:
        Driver:
          description: Name of the volume driver to use.
          type: string
        DriverOpts:
          additionalProperties:
            type: string
          description: A mapping of driver options and values. These options are passed directly to the driver and are driver specific.
          type: object
        Labels:
          additionalProperties:
            type: string
          description: User-defined key/value metadata.
          type: object
        Name:
          description: The new volume's name. If not specified, Docker generates a name.
          type: string
      required:
        - Driver
        - DriverOpts
        - Labels
        - Name
      type: object
      x-go-package: github.com/docker/docker/api/types/volume
    VolumeListOKBody:
      description: VolumeListOKBody Volume list response
      properties:
        Volumes:
          description: List of volumes
          items:
            $ref: "#/components/schemas/Volume"
          type: array
        Warnings:
          description: Warnings that occurred when fetching the list of volumes
          items:
            type: string
          type: array
      required:
        - Volumes
        - Warnings
      type: object
      x-go-package: github.com/docker/docker/api/types/volume
    VolumeUsageData:
      description: |-
        VolumeUsageData Usage details about the volume. This information is used by the
        `GET /system/df` endpoint, and omitted in other endpoints.
      properties:
        RefCount:
          description: |-
            The number of containers referencing this volume. This field
            is set to `-1` if the reference-count is not available.
          format: int64
          type: integer
        Size:
          description: |-
            Amount of disk space used by the volume (in bytes). This information
            is only available for volumes created with the `"local"` volume
            driver. For volumes created with other volume drivers, this field
            is set to `-1` ("not available")
          format: int64
          type: integer
      required:
        - RefCount
        - Size
      type: object
      x-go-package: github.com/docker/docker/api/types
  securitySchemes:
    token:
      in: cookie
      name: token
      type: apiKey
