openapi: 3.0.0 info: title: Meshery Server description: Documentation for Meshery Server REST APIs. version: v1.2.2 contact: name: Meshery Maintainers email: maintainers@meshery.io url: https://meshery.io license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://playground.meshery.io description: Meshery Playground server URL - url: https://staging-cloud.meshery.io description: Local development server URL - url: http://localhost:9081 description: | Meshery Server URL (controlled via PORT environment variable) tags: - name: Evaluation_Evaluation description: Operations related to design evaluation - name: Feature_Features description: Operations related to features and entitlements - name: Support_Support description: Operations related to help and support requests - name: System_API_System description: Operational endpoints for Meshery Server. - name: Badge_Badge description: Operations related to user and organization badges. - name: credential_credentials description: Operations related to integration credentials - name: Key_Key description: Operations related to authorization keys - name: Key_users description: Operations related to users and their authorization keys - name: Keychain_Keychain description: Operations related to keychains - name: Model_Models description: Operations related to mesh models - name: Organization_Organizations description: Operations related to organization management - name: role_roles description: Operations related to roles and role assignments - name: schedule_scheduler description: Operations related to scheduled tasks - name: Team_teams description: >- A Team is a group of one or more users. Teams are used for assigning permissions in organizations and workspaces. Learn more at https://docs.meshery.io/concepts/logical/teams - name: User_users description: Operations related to users - name: View_views description: APIs for managing Meshery views. - name: Academy_API_Academy description: Operations related to Meshery Academy content and curriculum - name: Design_designs description: Operations related to designs and infrastructure patterns - name: Environment_environments description: APIs for environments - name: Events_events description: APIs for Meshery Cloud events. - name: Filter_filters description: Operations related to Meshery filters. - name: Invitation_Invitation description: Operations related to invitation - name: Performance_Profile_performance description: APIs for managing Meshery performance profiles. - name: Plan_Plans description: Operations related to plans - name: Subscription_Subscriptions description: Operations related to subscriptions - name: Subscription_Plans description: Operations related to plans - name: Subscription_Payment Processors description: Operations related to payment processors - name: token_tokens description: Operations related to user tokens and sessions - name: Workspace_workspaces description: APIs for Meshery Cloud workspaces. - name: Workspace_views description: APIs for Meshery Cloud views associated with workspaces. - name: Workspace_designs description: APIs for Meshery Cloud designs associated with workspaces. paths: /api/meshmodels/relationships/evaluate: post: operationId: evaluateRelationships x-internal: - meshery tags: - Evaluation_Evaluation summary: Evaluate relationships in a design description: >- Performs relationship evaluation on a given design, applying policies and updating components and relationships as needed. This `EvaluationResponse` contract is engine-agnostic: it is produced either by this server operation or by an equivalent in-browser WebAssembly engine implementing the same contract. See `docs/relationship-evaluation-engine-contract.md` for the authoritative engine contract, the in-browser engine surface, and the registry-independent hydration boundary. requestBody: required: true content: application/json: schema: type: object required: - design properties: design: x-go-type: patternv1beta1.PatternFile x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/pattern name: patternv1beta1 $schema: http://json-schema.org/draft-07/schema# title: Design Schema description: >- Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes. type: object additionalProperties: false properties: id: x-order: 1 type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Name of the design; a descriptive, but concise title for the design document. x-order: 2 schemaVersion: description: Specifies the version of the schema to which the design conforms. x-order: 3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: default: v0.0.1 x-order: 4 description: >- Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number. minLength: 1 maxLength: 50 type: string pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ metadata: type: object x-order: 5 additionalProperties: true properties: resolvedAliases: description: Map of resolved aliases present in the design type: object x-go-type: map[string]core.ResolvedAlias x-go-type-import: path: github.com/meshery/schemas/models/core name: core additionalProperties: description: >- An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also allOf: - description: >- An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents type: object properties: relationship_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid alias_component_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid immediate_parent_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid immediate_ref_field_path: type: array items: type: string required: - relationship_id - alias_component_id - immediate_parent_id - immediate_ref_field_path - type: object properties: resolved_parent_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid resolved_ref_field_path: type: array items: type: string required: - resolved_parent_id - resolved_ref_field_path components: description: A list of one or more component declarations. minItems: 0 x-order: 6 type: array x-go-type: '[]*component.ComponentDefinition' x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/component name: component items: allOf: - $id: https://schemas.meshery.io/component.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components additionalProperties: false type: object properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-oapi-codegen-extra-tags: yaml: id json: id schemaVersion: x-order: 2 description: Specifies the version of the schema to which the component definition conforms. x-oapi-codegen-extra-tags: yaml: schemaVersion json: schemaVersion default: components.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: x-order: 3 description: Version of the component definition. minLength: 1 maxLength: 50 x-oapi-codegen-extra-tags: yaml: version json: version type: string pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: x-order: 4 description: Name of the component in human-readible format. x-oapi-codegen-extra-tags: yaml: displayName json: displayName type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: x-order: 5 type: string description: A written representation of the purpose and characteristics of the component. x-oapi-codegen-extra-tags: yaml: description json: description format: x-order: 6 type: string enum: - JSON - CUE default: JSON description: Format specifies the format used in the `component.schema` field. JSON is the default. x-oapi-codegen-extra-tags: yaml: format json: format model: x-go-type: '*modelv1beta1.ModelDefinition' x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 x-order: 7 description: >- Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: gorm: foreignKey:ModelId;references:ID json: model yaml: model $id: https://schemas.meshery.io/model.yaml $schema: http://json-schema.org/draft-07/schema# additionalProperties: false type: object properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-oapi-codegen-extra-tags: yaml: id json: id schemaVersion: description: Specifies the version of the schema used for the definition. x-order: 2 x-oapi-codegen-extra-tags: yaml: schemaVersion json: schemaVersion default: models.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the model definition. type: string x-order: 3 x-oapi-codegen-extra-tags: yaml: version json: version minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ name: type: string description: The unique name for the model within the scope of a registrant. helperText: Model name should be in lowercase with hyphens, not whitespaces. pattern: ^[a-z0-9-]+$ examples: - cert-manager x-order: 4 x-oapi-codegen-extra-tags: yaml: name json: name default: untitled-model displayName: description: Human-readable name for the model. helperText: >- Model display name may include letters, numbers, and spaces. Special characters are not allowed. minLength: 1 maxLength: 100 type: string pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager x-order: 5 x-oapi-codegen-extra-tags: yaml: displayName json: displayName default: Untitled Model description: type: string default: A new Meshery model. description: Description of the model. minLength: 1 maxLength: 1000 x-order: 6 x-oapi-codegen-extra-tags: yaml: description,omitempty json: description,omitempty status: type: string description: >- Status of model, including: - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status. - maintenance: model is unavailable for a period of time. - enabled: model is available for use for all users of this Meshery Server. - ignored: model is unavailable for use for all users of this Meshery Server. enum: - ignored - enabled - duplicate x-order: 7 x-oapi-codegen-extra-tags: yaml: status json: status default: enabled registrant: x-oapi-codegen-extra-tags: yaml: registrant json: registrant gorm: foreignKey:RegistrantId;references:ID x-order: 8 x-go-type: connectionv1beta1.Connection x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/connection name: connectionv1beta1 $id: https://schemas.meshery.io/connection.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections additionalProperties: false type: object required: - id - schemaVersion - name - type - subType - kind - status properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id yaml: id name: x-oapi-codegen-extra-tags: db: name yaml: name x-order: 2 type: string description: Connection Name credentialId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 type: x-oapi-codegen-extra-tags: db: type yaml: type x-order: 4 type: string description: Connection Type (platform, telemetry, collaboration) subType: x-oapi-codegen-extra-tags: db: sub_type yaml: subType x-order: 5 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) kind: x-oapi-codegen-extra-tags: db: kind yaml: kind x-order: 6 type: string description: >- Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) metadata: x-oapi-codegen-extra-tags: db: metadata yaml: metadata x-order: 7 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true type: object description: Additional connection metadata status: x-oapi-codegen-extra-tags: db: status yaml: status x-order: 8 description: Connection Status type: string enum: - discovered - registered - connected - ignored - maintenance - disconnected - deleted - not found user_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 created_at: x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-order: 11 type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-order: 12 description: SQL null Timestamp to handle null values of time. x-go-type: meshcore.NullTime x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true environments: type: array description: Associated environments for this connection items: x-go-type: '*environmentv1beta1.Environment' x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/environment name: environmentv1beta1 $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta1 name: Production Environment description: Connections and credentials for the production cluster. organization_id: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 created_at: '0001-01-01T00:00:00Z' metadata: {} updated_at: '0001-01-01T00:00:00Z' deleted_at: null required: - id - schemaVersion - name - description - organization_id properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id yaml: id schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: yaml: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name yaml: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description yaml: description x-order: 4 type: string maxLength: 1000 description: Environment description organization_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id x-order: 5 owner: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: owner yaml: owner x-order: 6 created_at: x-order: 7 description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata yaml: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updated_at: x-order: 9 description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true deleted_at: description: >- Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type: core.NullTime x-go-import: database/sql x-order: 10 x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: '-' yaml: environments gorm: '-' x-go-type-skip-optional-pointer: true x-order: 13 schemaVersion: description: Specifies the version of the schema used for the definition. x-order: 14 x-oapi-codegen-extra-tags: yaml: schemaVersion db: '-' gorm: '-' default: connections.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 registrantId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 categoryId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 category: x-order: 9 x-oapi-codegen-extra-tags: yaml: category json: category gorm: foreignKey:CategoryId;references:ID x-go-type: categoryv1beta1.CategoryDefinition x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/category name: categoryv1beta1 $id: https://schemas.meshery.io/category.yaml $schema: http://json-schema.org/draft-07/schema# type: object additionalProperties: false description: Category of the model. required: - id - name - metadata properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 name: type: string minLength: 1 maxLength: 100 x-oapi-codegen-extra-tags: yaml: name json: name gorm: name default: Uncategorized description: The category of the model that determines the main grouping. enum: - Analytics - App Definition and Development - Cloud Native Network - Cloud Native Storage - Database - Machine Learning - Observability and Analysis - Orchestration & Management - Platform - Provisioning - Runtime - Security & Compliance - Serverless - Tools - Uncategorized x-order: 2 metadata: description: Additional metadata associated with the category. type: object x-oapi-codegen-extra-tags: yaml: metadata,omitempty json: metadata,omitempty gorm: type:bytes;serializer:json x-order: 3 subCategory: x-order: 10 x-go-type: subcategoryv1beta1.SubCategoryDefinition x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/subcategory name: subcategoryv1beta1 $id: https://schemas.meshery.io/category.yaml $schema: http://json-schema.org/draft-07/schema# type: string title: SubCategory description: Sub category of the model determines the secondary grouping. default: Uncategorized enum: - API Gateway - API Integration - Application Definition & Image Build - Automation & Configuration - Certified Kubernetes - Distribution - Chaos Engineering - Cloud Native Storage - Cloud Provider - CNI - Compute - Container Registry - Container Runtime - Container Security - Container - Content Delivery Network - Continuous Integration & Delivery - Coordination & Service Discovery - Database - Flowchart - Framework - Installable Platform - Key Management - Key Management Service - Kubernetes - Logging - Machine Learning - Management Governance - Metrics - Monitoring - Networking Content Delivery - Operating System - Query - Remote Procedure Call - Scheduling & Orchestration - Secrets Management - Security Identity & Compliance - Service Mesh - Service Proxy - Source Version Control - Storage - Specifications - Streaming & Messaging - Tools - Tracing - Uncategorized - Video Conferencing minLength: 1 maxLength: 100 x-oapi-codegen-extra-tags: yaml: subCategory json: subCategory metadata: type: object description: Metadata containing additional information associated with the model. required: - svgWhite - svgColor properties: capabilities: type: array description: Capabilities associated with the model items: x-go-type: capabilityv1alpha1.Capability x-go-type-import: path: github.com/meshery/schemas/models/v1alpha1/capability name: capabilityv1alpha1 $id: https://schemas.meshery.io/capability.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. additionalProperties: false type: object required: - description - schemaVersion - version - displayName - kind - type - subType - entityState - key - status x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json properties: schemaVersion: description: >- Specifies the version of the schema to which the capability definition conforms. type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the capability definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: description: Name of the capability in human-readible format. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: type: string description: >- A written representation of the purpose and characteristics of the capability. maxLength: 5000 kind: description: Top-level categorization of the capability additionalProperties: false anyOf: - const: action description: >- For capabilities related to executing actions on entities. Example: initiate log streaming on a Pod. Example: initiate deployment of a component. - const: mutate description: >- For capabilities related to mutating an entity. Example: the ability to change the configuration of a component. - const: view description: >- For capabilities related to viewing an entity. Example: the ability to view a components configuration. - const: interaction description: >- Catch all for capabilities related to interaction with entities. Example: the ability for a component to be dragged and dropped. Example: supports event bubbling to parent components. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ type: description: >- Classification of capabilities. Used to group capabilities similar in nature. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ subType: description: >- Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ key: description: Key that backs the capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ entityState: description: State of the entity in which the capability is applicable. type: array items: type: string enum: - declaration - instance pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: >- A string starting with an alphanumeric character. Spaces and hyphens allowed. status: type: string description: Status of the capability default: enabled enum: - enabled - disabled metadata: type: object description: >- Metadata contains additional information associated with the capability. Extension point. additionalProperties: true default: - description: Configure the visual styles for the component displayName: Styling entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: '' type: style version: 0.7.0 - description: Change the shape of the component displayName: Change Shape entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: shape type: style version: 0.7.0 - description: Drag and Drop a component into a parent component in graph view displayName: Compound Drag And Drop entityState: - declaration key: '' kind: interaction schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: compoundDnd type: graph version: 0.7.0 - description: Add text to nodes body displayName: Body Text entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: body-text type: style version: 0.7.0 x-order: 1 isAnnotation: type: boolean description: >- Indicates whether the model and its entities should be treated as deployable entities or as logical representations. x-oapi-codegen-extra-tags: yaml: isAnnotation json: isAnnotation x-order: 2 default: false primaryColor: type: string description: Primary color associated with the model. minLength: 1 maxLength: 50 default: '#00b39f' x-oapi-codegen-extra-tags: yaml: primaryColor json: primaryColor x-order: 3 secondaryColor: type: string description: Secondary color associated with the model. minLength: 1 maxLength: 50 default: '#00D3A9' x-oapi-codegen-extra-tags: yaml: secondaryColor json: secondaryColor x-order: 4 svgWhite: type: string description: SVG representation of the model in white color. minLength: 1 x-oapi-codegen-extra-tags: yaml: svgWhite json: svgWhite x-order: 5 default: >- svgColor: type: string description: SVG representation of the model in colored format. minLength: 1 x-oapi-codegen-extra-tags: yaml: svgColor json: svgColor x-order: 6 default: >- meshery-logo-light svgComplete: type: string description: SVG representation of the complete model. minLength: 1 x-oapi-codegen-extra-tags: yaml: svgComplete json: svgComplete x-order: 7 shape: x-order: 8 type: string description: >- The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes) enum: - ellipse - triangle - round-triangle - rectangle - round-rectangle - bottom-round-rectangle - cut-rectangle - barrel - rhomboid - diamond - round-diamond - pentagon - round-pentagon - hexagon - round-hexagon - concave-hexagon - heptagon - round-heptagon - octagon - round-octagon - star - tag - round-tag - vee - polygon x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json json: metadata yaml: metadata x-order: 11 additionalProperties: true model: x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json x-order: 12 type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ relationships: type: array x-go-type: interface{} x-oapi-codegen-extra-tags: gorm: '-' json: relationships yaml: relationships description: The relationships of the model. components: type: array x-go-type: interface{} x-oapi-codegen-extra-tags: gorm: '-' json: components yaml: components description: The components of the model. componentsCount: type: integer description: Number of components associated with the model. x-order: 13 x-oapi-codegen-extra-tags: json: components_count yaml: components_count gorm: '-' default: 0 minimum: 0 relationshipsCount: type: integer description: Number of relationships associated with the model. x-order: 13 x-oapi-codegen-extra-tags: gorm: '-' json: relationships_count yaml: relationships_count default: 0 minimum: 0 created_at: x-order: 14 description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true updated_at: x-order: 15 description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true required: - id - schemaVersion - displayName - status - subCategory - model - name - description - version - registrant - category - categoryId - registrantId - relationshipsCount - componentsCount - components - relationships modelReference: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 x-order: 8 description: >- Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: gorm: '-' type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 modelId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: gorm: index:idx_component_definition_dbs_model_id,column:model_id yaml: '-' json: '-' styles: x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: styles json: styles x-go-type: core.ComponentStyles x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-order: 8 type: object description: Visualization styles for a component required: - shape - primaryColor - svgColor - svgWhite - svgComplete allOf: - type: object description: Common styles for all entities additionalProperties: true required: - primaryColor - svgColor - svgWhite - svgComplete properties: primaryColor: type: string description: Primary color of the component used for UI representation. secondaryColor: type: string description: Secondary color of the entity used for UI representation. svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. text-opacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 font-family: type: string description: A comma-separated list of font names to use on the label text. font-size: type: string description: The size of the label text. font-style: type: string description: A CSS font style to be applied to the label text. font-weight: type: string description: A CSS font weight to be applied to the label text. text-transform: type: string description: A transformation to apply to the label text enum: - none - uppercase - lowercase opacity: type: number description: >- The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. minimum: 0 maximum: 1 z-index: type: integer description: >- An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. label: type: string description: >- The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id animation: type: object description: The animation to apply to the element. example ripple,bounce,etc - type: object properties: shape: type: string description: >- The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes) enum: - ellipse - triangle - round-triangle - rectangle - round-rectangle - bottom-round-rectangle - cut-rectangle - barrel - rhomboid - diamond - round-diamond - pentagon - round-pentagon - hexagon - round-hexagon - concave-hexagon - heptagon - round-heptagon - octagon - round-octagon - star - tag - round-tag - vee - polygon position: type: object additionalProperties: false required: - x - 'y' description: >- The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. properties: x: type: number description: The x-coordinate of the node. x-go-type: float64 'y': type: number description: The y-coordinate of the node. x-go-type: float64 body-text: type: string description: >- The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id body-text-wrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. body-text-max-width: type: string description: The maximum width for wrapping text in the node. body-text-opacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 body-text-background-color: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. body-text-font-size: type: number description: The size of the node's body text. body-text-color: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. body-text-font-weight: type: string description: A CSS font weight to be applied to the node's body text. body-text-horizontal-align: type: string description: A CSS horizontal alignment to be applied to the node's body text. body-text-decoration: type: string description: A CSS text decoration to be applied to the node's body text. body-text-vertical-align: type: string description: A CSS vertical alignment to be applied to the node's body text. width: type: number description: The width of the node's body or the width of an edge's line. height: type: number description: The height of the node's body background-image: type: string description: The URL that points to the image to show in the node. background-color: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. background-blacken: type: number description: >- Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. maximum: 1 minimum: -1 background-opacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 background-position-x: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-position-y: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-offset-x: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-offset-y: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-fit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. background-clip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. background-width-relative-to: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. background-height-relative-to: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. border-width: type: number description: The size of the node's border. minimum: 0 border-style: type: string description: The style of the node's border enum: - solid - dotted - dashed - double border-color: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. border-opacity: type: number description: The opacity of the node's border minimum: 0 maximum: 1 padding: type: number description: The amount of padding around all sides of the node. minimum: 0 text-halign: type: string description: The horizontal alignment of a node's label enum: - left - center - right text-valign: type: string description: The vertical alignment of a node's label enum: - top - center - bottom ghost: type: string description: >- Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset. default: 'no' enum: - 'yes' - 'no' active-bg-color: type: string description: >- The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. active-bg-opacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. active-bg-size: type: string description: The opacity of the active background indicator. Selector needs to be *core*. selection-box-color: type: string description: >- The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. selection-box-border-width: type: number description: The size of the border on the selection box. Selector needs to be *core* selection-box-opacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outside-texture-bg-color: type: string description: >- The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. outside-texture-bg-opacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shape-polygon-points: type: string description: >- An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) menu-background-color: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. menu-background-opacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menu-forground-color: type: string description: >- The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. capabilities: x-order: 9 type: array description: >- Meshery manages components in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. ComponentDefinitions may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. items: x-go-type: capabilityv1beta1.Capability x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/capability name: capabilityv1beta1 $id: https://schemas.meshery.io/capability.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. additionalProperties: false type: object required: - description - schemaVersion - version - displayName - kind - type - subType - entityState - key - status x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json properties: schemaVersion: description: Specifies the version of the schema to which the capability definition conforms. type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the capability definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: description: Name of the capability in human-readible format. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: type: string description: A written representation of the purpose and characteristics of the capability. maxLength: 5000 kind: description: Top-level categorization of the capability additionalProperties: false anyOf: - const: action description: >- For capabilities related to executing actions on entities. Example: initiate log streaming on a Pod. Example: initiate deployment of a component. - const: mutate description: >- For capabilities related to mutating an entity. Example: the ability to change the configuration of a component. - const: view description: >- For capabilities related to viewing an entity. Example: the ability to view a components configuration. - const: interaction description: >- Catch all for capabilities related to interaction with entities. Example: the ability for a component to be dragged and dropped. Example: supports event bubbling to parent components. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ type: description: Classification of capabilities. Used to group capabilities similar in nature. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ subType: description: >- Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ key: description: Key that backs the capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ entityState: description: State of the entity in which the capability is applicable. type: array items: type: string enum: - declaration - instance pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: A string starting with an alphanumeric character. Spaces and hyphens allowed. status: type: string description: Status of the capability default: enabled enum: - enabled - disabled metadata: type: object description: >- Metadata contains additional information associated with the capability. Extension point. additionalProperties: true default: - description: Configure the visual styles for the component displayName: Styling entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: '' type: style version: 0.7.0 - description: Change the shape of the component displayName: Change Shape entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: shape type: style version: 0.7.0 - description: Drag and Drop a component into a parent component in graph view displayName: Compound Drag And Drop entityState: - declaration key: '' kind: interaction schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: compoundDnd type: graph version: 0.7.0 - description: Add text to nodes body displayName: Body Text entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: body-text type: style version: 0.7.0 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: capabilities json: capabilities default: - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Performance Test description: >- Initiate a performance test. Meshery will execute the load generation, collect metrics, and present the results. kind: action type: operator subType: perf-test key: '' entityState: - instance status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Workload Configuration description: Configure the workload specific setting of a component kind: mutate type: configuration subType: config key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Labels and Annotations Configuration description: 'Configure Labels And Annotations for the component ' kind: mutate type: configuration subType: labels-and-annotations key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Relationships description: View relationships for the component kind: view type: configuration subType: relationship key: '' entityState: - declaration - instance status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Json Schema description: 'View Component Definition ' kind: view type: configuration subType: definition key: '' entityState: - declaration - instance status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Styling description: Configure the visual styles for the component kind: mutate type: style subType: '' key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Change Shape description: Change the shape of the component kind: mutate type: style subType: shape key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Compound Drag And Drop description: Drag and Drop a component into a parent component in graph view kind: interaction type: graph subType: compoundDnd key: '' entityState: - declaration status: enabled metadata: null status: x-order: 10 type: string description: >- Status of component, including: - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status. - maintenance: model is unavailable for a period of time. - enabled: model is available for use for all users of this Meshery Server. - ignored: model is unavailable for use for all users of this Meshery Server. default: enabled enum: - ignored - enabled - duplicate - resolved - open x-oapi-codegen-extra-tags: yaml: status json: status metadata: x-order: 11 type: object description: Metadata contains additional information associated with the component. required: - genealogy - isAnnotation - isNamespaced - published - instanceDetails - configurationUISchema properties: genealogy: x-order: 1 type: string description: Genealogy represents the various representational states of the component. isAnnotation: x-order: 2 type: boolean description: >- Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation. default: false isNamespaced: x-order: 3 type: boolean description: Identifies whether the component is scoped to namespace or clsuter wide. published: x-order: 4 type: boolean description: >- 'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered. instanceDetails: x-order: 5 type: object description: InstanceDetails contains information about the instance of the component. configurationUISchema: x-order: 6 type: string description: >- Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ . x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json additionalProperties: true configuration: x-order: 12 description: >- The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema). type: object $comment: >- The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema). x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json component: x-order: 13 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json x-go-type: Component description: >- data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 kind: type: string description: >- The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'. x-order: 2 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 required: - version - kind - schema created_at: x-order: 14 description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true updated_at: x-order: 15 description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true required: - id - displayName - description - schemaVersion - format - version - configuration - metadata - model - modelReference - component preferences: x-go-type: DesignPreferences type: object description: Design-level preferences x-order: 7 properties: layers: type: object description: Map of available layers, where keys are layer names. required: - layers relationships: description: List of relationships between components type: array x-order: 8 x-go-type: '[]*relationship.RelationshipDefinition' x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/relationship name: relationship items: allOf: - description: >- Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships. type: object required: - schemaVersion - version - model - kind - type - subType - id properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true x-order: 1 x-oapi-codegen-extra-tags: yaml: id json: id schemaVersion: description: Specifies the version of the schema used for the relationship definition. x-order: 8 x-oapi-codegen-extra-tags: yaml: schemaVersion json: schemaVersion type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Specifies the version of the relationship definition. x-order: 13 x-oapi-codegen-extra-tags: yaml: version json: version type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ kind: description: >- Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships. type: string enum: - hierarchical - edge - sibling x-order: 4 x-oapi-codegen-extra-tags: yaml: kind json: kind type: description: Classification of relationships. Used to group relationships similar in nature. type: string x-go-name: RelationshipType x-go-type-skip-optional-pointer: true x-order: 12 x-oapi-codegen-extra-tags: yaml: type json: type gorm: column:type subType: description: >- Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship. type: string x-go-type-skip-optional-pointer: true x-order: 10 x-oapi-codegen-extra-tags: yaml: subType json: subType status: type: string description: Status of the relationship. enum: - enabled - ignored - deleted - approved - pending x-order: 11 x-oapi-codegen-extra-tags: yaml: status json: status capabilities: type: array description: Capabilities associated with the relationship. x-order: 2 items: x-go-type: capabilityv1alpha1.Capability x-go-type-import: path: github.com/meshery/schemas/models/v1alpha1/capability name: capabilityv1alpha1 $id: https://schemas.meshery.io/capability.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. additionalProperties: false type: object required: - description - schemaVersion - version - displayName - kind - type - subType - entityState - key - status x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json properties: schemaVersion: description: Specifies the version of the schema to which the capability definition conforms. type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the capability definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: description: Name of the capability in human-readible format. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: type: string description: A written representation of the purpose and characteristics of the capability. maxLength: 5000 kind: description: Top-level categorization of the capability additionalProperties: false anyOf: - const: action description: >- For capabilities related to executing actions on entities. Example: initiate log streaming on a Pod. Example: initiate deployment of a component. - const: mutate description: >- For capabilities related to mutating an entity. Example: the ability to change the configuration of a component. - const: view description: >- For capabilities related to viewing an entity. Example: the ability to view a components configuration. - const: interaction description: >- Catch all for capabilities related to interaction with entities. Example: the ability for a component to be dragged and dropped. Example: supports event bubbling to parent components. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ type: description: Classification of capabilities. Used to group capabilities similar in nature. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ subType: description: >- Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ key: description: Key that backs the capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ entityState: description: State of the entity in which the capability is applicable. type: array items: type: string enum: - declaration - instance pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: A string starting with an alphanumeric character. Spaces and hyphens allowed. status: type: string description: Status of the capability default: enabled enum: - enabled - disabled metadata: type: object description: >- Metadata contains additional information associated with the capability. Extension point. additionalProperties: true default: - description: Configure the visual styles for the component displayName: Styling entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: '' type: style version: 0.7.0 - description: Change the shape of the component displayName: Change Shape entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: shape type: style version: 0.7.0 - description: Drag and Drop a component into a parent component in graph view displayName: Compound Drag And Drop entityState: - declaration key: '' kind: interaction schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: compoundDnd type: graph version: 0.7.0 - description: Add text to nodes body displayName: Body Text entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: body-text type: style version: 0.7.0 x-oapi-codegen-extra-tags: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: Relationship_Metadata x-order: 5 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true properties: description: description: >- Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management. type: string x-oapi-codegen-extra-tags: yaml: description json: description styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: yaml: styles json: styles type: object description: Visualization styles for a relationship required: - primaryColor - svgColor - svgWhite properties: primaryColor: type: string description: Primary color of the component used for UI representation. x-oapi-codegen-extra-tags: yaml: primaryColor json: primaryColor secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: yaml: secondaryColor,omitempty json: secondaryColor,omitempty svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: yaml: svgWhite json: svgWhite svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: yaml: svgColor json: svgColor svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: yaml: svgComplete,omitempty json: svgComplete,omitempty color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. x-oapi-codegen-extra-tags: yaml: color,omitempty json: color,omitempty text-opacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: yaml: text-opacity,omitempty json: text-opacity,omitempty font-family: type: string description: A comma-separated list of font names to use on the label text. x-go-name: FontFamily x-oapi-codegen-extra-tags: yaml: font-family,omitempty json: font-family,omitempty font-size: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: yaml: font-size,omitempty json: font-size,omitempty font-style: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: yaml: font-style,omitempty json: font-style,omitempty font-weight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: yaml: font-weight,omitempty json: font-weight,omitempty text-transform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: yaml: text-transform,omitempty json: text-transform,omitempty type: string enum: - none - uppercase - lowercase opacity: type: number format: float description: >- The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility x-go-name: Opacity x-oapi-codegen-extra-tags: yaml: opacity,omitempty json: opacity,omitempty z-index: type: integer description: >- An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. x-go-name: ZIndex x-oapi-codegen-extra-tags: yaml: z-index,omitempty json: z-index,omitempty label: type: string description: >- The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id x-go-name: Label x-oapi-codegen-extra-tags: yaml: label,omitempty json: label,omitempty edge-animation: type: string description: >- The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc . x-go-name: EdgeAnimation x-oapi-codegen-extra-tags: yaml: edge-animation,omitempty json: edge-animation,omitempty curve-style: x-go-name: CurveStyle x-oapi-codegen-extra-tags: yaml: curve-style,omitempty json: curve-style,omitempty type: string description: >- The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges. enum: - haystack - straight - bezier - unbundled-bezier - segments - taxi line-color: type: string description: >- The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g. x-go-name: LineColor x-oapi-codegen-extra-tags: yaml: line-color,omitempty json: line-color,omitempty line-style: x-go-name: LineStyle x-oapi-codegen-extra-tags: yaml: line-style,omitempty json: line-style,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed line-cap: x-go-name: LineCap x-oapi-codegen-extra-tags: yaml: line-cap,omitempty json: line-cap,omitempty type: string description: >- The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge. enum: - butt - round - square line-opacity: type: number format: float description: >- The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents. x-go-name: LineOpacity x-oapi-codegen-extra-tags: yaml: line-opacity,omitempty json: line-opacity,omitempty target-arrow-color: type: string description: >- The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. x-go-name: TargetArrowColor x-oapi-codegen-extra-tags: yaml: target-arrow-color,omitempty json: target-arrow-color,omitempty target-arrow-shape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: yaml: target-arrow-shape,omitempty json: target-arrow-shape,omitempty type: string description: The shape of the edge's source arrow enum: - triangle - triangle-tee - circle-triangle - triangle-cross - triangle-backcurve - vee - tee - square - circle - diamond - chevron - none target-arrow-fill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: yaml: target-arrow-fill,omitempty json: target-arrow-fill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow mid-target-arrow-color: type: string description: >- The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. x-go-name: MidTargetArrowColor x-oapi-codegen-extra-tags: yaml: mid-target-arrow-color,omitempty json: mid-target-arrow-color,omitempty mid-target-arrow-shape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: yaml: mid-target-arrow-shape,omitempty json: mid-target-arrow-shape,omitempty type: string description: The shape of the edge's source arrow enum: - triangle - triangle-tee - circle-triangle - triangle-cross - triangle-backcurve - vee - tee - square - circle - diamond - chevron - none mid-target-arrow-fill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: yaml: mid-target-arrow-fill,omitempty json: mid-target-arrow-fill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrow-scale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: yaml: arrow-scale,omitempty json: arrow-scale,omitempty source-label: type: string description: >- The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id x-go-name: SourceLabel x-oapi-codegen-extra-tags: yaml: source-label,omitempty json: source-label,omitempty target-label: type: string description: >- The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id x-go-name: TargetLabel x-oapi-codegen-extra-tags: yaml: target-label,omitempty json: target-label,omitempty isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: yaml: isAnnotation json: isAnnotation model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 x-go-type-skip-optional-pointer: true x-order: 6 description: >- Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model gorm: type:bytes;serializer:json type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 modelId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true x-go-name: ModelId x-order: 7 x-oapi-codegen-extra-tags: json: '-' gorm: index:idx_relationship_definition_dbs_model_id,column:model_id evaluationQuery: description: >- Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. type: string x-order: 3 x-oapi-codegen-extra-tags: yaml: evaluationQuery json: evaluationQuery selectors: x-go-type: SelectorSet x-order: 9 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: selectors,omitempty json: selectors,omitempty type: array description: >- Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved. items: x-go-type: SelectorSetItem type: object description: >- Optional selectors used to match Components. Absence of a selector means that it is applied to all Components. required: - allow properties: allow: description: Selectors used to define relationships which are allowed. x-go-type: Selector x-oapi-codegen-extra-tags: yaml: allow json: allow type: object required: - from - to properties: from: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from json: from to: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to json: to deny: description: >- Optional selectors used to define relationships which should not be created / is restricted. x-go-type: Selector x-oapi-codegen-extra-tags: yaml: deny,omitempty json: deny,omitempty type: object required: - from - to properties: from: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from json: from to: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to json: to required: - id - name - schemaVersion - version - components - relationships options: type: object properties: returnDiffOnly: type: boolean description: If true, only return the diff of changes instead of the complete updated design enableTrace: type: boolean description: If true, include detailed trace information in the response description: The options of the evaluationrequest. responses: '200': description: Successful evaluation content: application/json: schema: type: object description: Schema for the response of a relationship evaluation process in Meshery required: - schemaVersion - design - actions properties: schemaVersion: type: string description: Specifies the version of the schema to which the evaluation response conforms. maxLength: 500 design: x-go-type: patternv1beta1.PatternFile x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/pattern name: patternv1beta1 description: >- The final evaluated design, including all updated components and relationships. This can be either the complete updated design or only a diff of changes. The version of the design will be automatically incremented if any modifications are made during the evaluation process. This field provides a comprehensive view of the design state after all relationship evaluations and policy applications have been completed. $schema: http://json-schema.org/draft-07/schema# title: Design Schema type: object additionalProperties: false properties: id: x-order: 1 type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Name of the design; a descriptive, but concise title for the design document. x-order: 2 schemaVersion: description: Specifies the version of the schema to which the design conforms. x-order: 3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: default: v0.0.1 x-order: 4 description: >- Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number. minLength: 1 maxLength: 50 type: string pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ metadata: type: object x-order: 5 additionalProperties: true properties: resolvedAliases: description: Map of resolved aliases present in the design type: object x-go-type: map[string]core.ResolvedAlias x-go-type-import: path: github.com/meshery/schemas/models/core name: core additionalProperties: description: >- An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also allOf: - description: >- An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents type: object properties: relationship_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid alias_component_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid immediate_parent_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid immediate_ref_field_path: type: array items: type: string required: - relationship_id - alias_component_id - immediate_parent_id - immediate_ref_field_path - type: object properties: resolved_parent_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid resolved_ref_field_path: type: array items: type: string required: - resolved_parent_id - resolved_ref_field_path components: description: A list of one or more component declarations. minItems: 0 x-order: 6 type: array x-go-type: '[]*component.ComponentDefinition' x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/component name: component items: allOf: - $id: https://schemas.meshery.io/component.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components additionalProperties: false type: object properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-oapi-codegen-extra-tags: yaml: id json: id schemaVersion: x-order: 2 description: Specifies the version of the schema to which the component definition conforms. x-oapi-codegen-extra-tags: yaml: schemaVersion json: schemaVersion default: components.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: x-order: 3 description: Version of the component definition. minLength: 1 maxLength: 50 x-oapi-codegen-extra-tags: yaml: version json: version type: string pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: x-order: 4 description: Name of the component in human-readible format. x-oapi-codegen-extra-tags: yaml: displayName json: displayName type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: x-order: 5 type: string description: A written representation of the purpose and characteristics of the component. x-oapi-codegen-extra-tags: yaml: description json: description format: x-order: 6 type: string enum: - JSON - CUE default: JSON description: >- Format specifies the format used in the `component.schema` field. JSON is the default. x-oapi-codegen-extra-tags: yaml: format json: format model: x-go-type: '*modelv1beta1.ModelDefinition' x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 x-order: 7 description: >- Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: gorm: foreignKey:ModelId;references:ID json: model yaml: model $id: https://schemas.meshery.io/model.yaml $schema: http://json-schema.org/draft-07/schema# additionalProperties: false type: object properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-oapi-codegen-extra-tags: yaml: id json: id schemaVersion: description: Specifies the version of the schema used for the definition. x-order: 2 x-oapi-codegen-extra-tags: yaml: schemaVersion json: schemaVersion default: models.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the model definition. type: string x-order: 3 x-oapi-codegen-extra-tags: yaml: version json: version minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ name: type: string description: The unique name for the model within the scope of a registrant. helperText: Model name should be in lowercase with hyphens, not whitespaces. pattern: ^[a-z0-9-]+$ examples: - cert-manager x-order: 4 x-oapi-codegen-extra-tags: yaml: name json: name default: untitled-model displayName: description: Human-readable name for the model. helperText: >- Model display name may include letters, numbers, and spaces. Special characters are not allowed. minLength: 1 maxLength: 100 type: string pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager x-order: 5 x-oapi-codegen-extra-tags: yaml: displayName json: displayName default: Untitled Model description: type: string default: A new Meshery model. description: Description of the model. minLength: 1 maxLength: 1000 x-order: 6 x-oapi-codegen-extra-tags: yaml: description,omitempty json: description,omitempty status: type: string description: >- Status of model, including: - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status. - maintenance: model is unavailable for a period of time. - enabled: model is available for use for all users of this Meshery Server. - ignored: model is unavailable for use for all users of this Meshery Server. enum: - ignored - enabled - duplicate x-order: 7 x-oapi-codegen-extra-tags: yaml: status json: status default: enabled registrant: x-oapi-codegen-extra-tags: yaml: registrant json: registrant gorm: foreignKey:RegistrantId;references:ID x-order: 8 x-go-type: connectionv1beta1.Connection x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/connection name: connectionv1beta1 $id: https://schemas.meshery.io/connection.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections additionalProperties: false type: object required: - id - schemaVersion - name - type - subType - kind - status properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id yaml: id name: x-oapi-codegen-extra-tags: db: name yaml: name x-order: 2 type: string description: Connection Name credentialId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 type: x-oapi-codegen-extra-tags: db: type yaml: type x-order: 4 type: string description: Connection Type (platform, telemetry, collaboration) subType: x-oapi-codegen-extra-tags: db: sub_type yaml: subType x-order: 5 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) kind: x-oapi-codegen-extra-tags: db: kind yaml: kind x-order: 6 type: string description: >- Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) metadata: x-oapi-codegen-extra-tags: db: metadata yaml: metadata x-order: 7 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true type: object description: Additional connection metadata status: x-oapi-codegen-extra-tags: db: status yaml: status x-order: 8 description: Connection Status type: string enum: - discovered - registered - connected - ignored - maintenance - disconnected - deleted - not found user_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 created_at: x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-order: 11 type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-order: 12 description: SQL null Timestamp to handle null values of time. x-go-type: meshcore.NullTime x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true environments: type: array description: Associated environments for this connection items: x-go-type: '*environmentv1beta1.Environment' x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/environment name: environmentv1beta1 $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta1 name: Production Environment description: Connections and credentials for the production cluster. organization_id: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 created_at: '0001-01-01T00:00:00Z' metadata: {} updated_at: '0001-01-01T00:00:00Z' deleted_at: null required: - id - schemaVersion - name - description - organization_id properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id yaml: id schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: yaml: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name yaml: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description yaml: description x-order: 4 type: string maxLength: 1000 description: Environment description organization_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id x-order: 5 owner: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: owner yaml: owner x-order: 6 created_at: x-order: 7 description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata yaml: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updated_at: x-order: 9 description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true deleted_at: description: >- Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type: core.NullTime x-go-import: database/sql x-order: 10 x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: '-' yaml: environments gorm: '-' x-go-type-skip-optional-pointer: true x-order: 13 schemaVersion: description: Specifies the version of the schema used for the definition. x-order: 14 x-oapi-codegen-extra-tags: yaml: schemaVersion db: '-' gorm: '-' default: connections.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 registrantId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 categoryId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 category: x-order: 9 x-oapi-codegen-extra-tags: yaml: category json: category gorm: foreignKey:CategoryId;references:ID x-go-type: categoryv1beta1.CategoryDefinition x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/category name: categoryv1beta1 $id: https://schemas.meshery.io/category.yaml $schema: http://json-schema.org/draft-07/schema# type: object additionalProperties: false description: Category of the model. required: - id - name - metadata properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 name: type: string minLength: 1 maxLength: 100 x-oapi-codegen-extra-tags: yaml: name json: name gorm: name default: Uncategorized description: The category of the model that determines the main grouping. enum: - Analytics - App Definition and Development - Cloud Native Network - Cloud Native Storage - Database - Machine Learning - Observability and Analysis - Orchestration & Management - Platform - Provisioning - Runtime - Security & Compliance - Serverless - Tools - Uncategorized x-order: 2 metadata: description: Additional metadata associated with the category. type: object x-oapi-codegen-extra-tags: yaml: metadata,omitempty json: metadata,omitempty gorm: type:bytes;serializer:json x-order: 3 subCategory: x-order: 10 x-go-type: subcategoryv1beta1.SubCategoryDefinition x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/subcategory name: subcategoryv1beta1 $id: https://schemas.meshery.io/category.yaml $schema: http://json-schema.org/draft-07/schema# type: string title: SubCategory description: Sub category of the model determines the secondary grouping. default: Uncategorized enum: - API Gateway - API Integration - Application Definition & Image Build - Automation & Configuration - Certified Kubernetes - Distribution - Chaos Engineering - Cloud Native Storage - Cloud Provider - CNI - Compute - Container Registry - Container Runtime - Container Security - Container - Content Delivery Network - Continuous Integration & Delivery - Coordination & Service Discovery - Database - Flowchart - Framework - Installable Platform - Key Management - Key Management Service - Kubernetes - Logging - Machine Learning - Management Governance - Metrics - Monitoring - Networking Content Delivery - Operating System - Query - Remote Procedure Call - Scheduling & Orchestration - Secrets Management - Security Identity & Compliance - Service Mesh - Service Proxy - Source Version Control - Storage - Specifications - Streaming & Messaging - Tools - Tracing - Uncategorized - Video Conferencing minLength: 1 maxLength: 100 x-oapi-codegen-extra-tags: yaml: subCategory json: subCategory metadata: type: object description: Metadata containing additional information associated with the model. required: - svgWhite - svgColor properties: capabilities: type: array description: Capabilities associated with the model items: x-go-type: capabilityv1alpha1.Capability x-go-type-import: path: github.com/meshery/schemas/models/v1alpha1/capability name: capabilityv1alpha1 $id: https://schemas.meshery.io/capability.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. additionalProperties: false type: object required: - description - schemaVersion - version - displayName - kind - type - subType - entityState - key - status x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json properties: schemaVersion: description: >- Specifies the version of the schema to which the capability definition conforms. type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the capability definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: description: Name of the capability in human-readible format. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: type: string description: >- A written representation of the purpose and characteristics of the capability. maxLength: 5000 kind: description: Top-level categorization of the capability additionalProperties: false anyOf: - const: action description: >- For capabilities related to executing actions on entities. Example: initiate log streaming on a Pod. Example: initiate deployment of a component. - const: mutate description: >- For capabilities related to mutating an entity. Example: the ability to change the configuration of a component. - const: view description: >- For capabilities related to viewing an entity. Example: the ability to view a components configuration. - const: interaction description: >- Catch all for capabilities related to interaction with entities. Example: the ability for a component to be dragged and dropped. Example: supports event bubbling to parent components. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ type: description: >- Classification of capabilities. Used to group capabilities similar in nature. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ subType: description: >- Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ key: description: Key that backs the capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ entityState: description: State of the entity in which the capability is applicable. type: array items: type: string enum: - declaration - instance pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: >- A string starting with an alphanumeric character. Spaces and hyphens allowed. status: type: string description: Status of the capability default: enabled enum: - enabled - disabled metadata: type: object description: >- Metadata contains additional information associated with the capability. Extension point. additionalProperties: true default: - description: Configure the visual styles for the component displayName: Styling entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: '' type: style version: 0.7.0 - description: Change the shape of the component displayName: Change Shape entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: shape type: style version: 0.7.0 - description: Drag and Drop a component into a parent component in graph view displayName: Compound Drag And Drop entityState: - declaration key: '' kind: interaction schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: compoundDnd type: graph version: 0.7.0 - description: Add text to nodes body displayName: Body Text entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: body-text type: style version: 0.7.0 x-order: 1 isAnnotation: type: boolean description: >- Indicates whether the model and its entities should be treated as deployable entities or as logical representations. x-oapi-codegen-extra-tags: yaml: isAnnotation json: isAnnotation x-order: 2 default: false primaryColor: type: string description: Primary color associated with the model. minLength: 1 maxLength: 50 default: '#00b39f' x-oapi-codegen-extra-tags: yaml: primaryColor json: primaryColor x-order: 3 secondaryColor: type: string description: Secondary color associated with the model. minLength: 1 maxLength: 50 default: '#00D3A9' x-oapi-codegen-extra-tags: yaml: secondaryColor json: secondaryColor x-order: 4 svgWhite: type: string description: SVG representation of the model in white color. minLength: 1 x-oapi-codegen-extra-tags: yaml: svgWhite json: svgWhite x-order: 5 default: >- svgColor: type: string description: SVG representation of the model in colored format. minLength: 1 x-oapi-codegen-extra-tags: yaml: svgColor json: svgColor x-order: 6 default: >- meshery-logo-light svgComplete: type: string description: SVG representation of the complete model. minLength: 1 x-oapi-codegen-extra-tags: yaml: svgComplete json: svgComplete x-order: 7 shape: x-order: 8 type: string description: >- The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes) enum: - ellipse - triangle - round-triangle - rectangle - round-rectangle - bottom-round-rectangle - cut-rectangle - barrel - rhomboid - diamond - round-diamond - pentagon - round-pentagon - hexagon - round-hexagon - concave-hexagon - heptagon - round-heptagon - octagon - round-octagon - star - tag - round-tag - vee - polygon x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json json: metadata yaml: metadata x-order: 11 additionalProperties: true model: x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json x-order: 12 type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ relationships: type: array x-go-type: interface{} x-oapi-codegen-extra-tags: gorm: '-' json: relationships yaml: relationships description: The relationships of the model. components: type: array x-go-type: interface{} x-oapi-codegen-extra-tags: gorm: '-' json: components yaml: components description: The components of the model. componentsCount: type: integer description: Number of components associated with the model. x-order: 13 x-oapi-codegen-extra-tags: json: components_count yaml: components_count gorm: '-' default: 0 minimum: 0 relationshipsCount: type: integer description: Number of relationships associated with the model. x-order: 13 x-oapi-codegen-extra-tags: gorm: '-' json: relationships_count yaml: relationships_count default: 0 minimum: 0 created_at: x-order: 14 description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true updated_at: x-order: 15 description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true required: - id - schemaVersion - displayName - status - subCategory - model - name - description - version - registrant - category - categoryId - registrantId - relationshipsCount - componentsCount - components - relationships modelReference: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 x-order: 8 description: >- Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: gorm: '-' type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 modelId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: gorm: index:idx_component_definition_dbs_model_id,column:model_id yaml: '-' json: '-' styles: x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: styles json: styles x-go-type: core.ComponentStyles x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-order: 8 type: object description: Visualization styles for a component required: - shape - primaryColor - svgColor - svgWhite - svgComplete allOf: - type: object description: Common styles for all entities additionalProperties: true required: - primaryColor - svgColor - svgWhite - svgComplete properties: primaryColor: type: string description: Primary color of the component used for UI representation. secondaryColor: type: string description: Secondary color of the entity used for UI representation. svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. text-opacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 font-family: type: string description: A comma-separated list of font names to use on the label text. font-size: type: string description: The size of the label text. font-style: type: string description: A CSS font style to be applied to the label text. font-weight: type: string description: A CSS font weight to be applied to the label text. text-transform: type: string description: A transformation to apply to the label text enum: - none - uppercase - lowercase opacity: type: number description: >- The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. minimum: 0 maximum: 1 z-index: type: integer description: >- An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. label: type: string description: >- The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id animation: type: object description: The animation to apply to the element. example ripple,bounce,etc - type: object properties: shape: type: string description: >- The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes) enum: - ellipse - triangle - round-triangle - rectangle - round-rectangle - bottom-round-rectangle - cut-rectangle - barrel - rhomboid - diamond - round-diamond - pentagon - round-pentagon - hexagon - round-hexagon - concave-hexagon - heptagon - round-heptagon - octagon - round-octagon - star - tag - round-tag - vee - polygon position: type: object additionalProperties: false required: - x - 'y' description: >- The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. properties: x: type: number description: The x-coordinate of the node. x-go-type: float64 'y': type: number description: The y-coordinate of the node. x-go-type: float64 body-text: type: string description: >- The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id body-text-wrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. body-text-max-width: type: string description: The maximum width for wrapping text in the node. body-text-opacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 body-text-background-color: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. body-text-font-size: type: number description: The size of the node's body text. body-text-color: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. body-text-font-weight: type: string description: A CSS font weight to be applied to the node's body text. body-text-horizontal-align: type: string description: A CSS horizontal alignment to be applied to the node's body text. body-text-decoration: type: string description: A CSS text decoration to be applied to the node's body text. body-text-vertical-align: type: string description: A CSS vertical alignment to be applied to the node's body text. width: type: number description: The width of the node's body or the width of an edge's line. height: type: number description: The height of the node's body background-image: type: string description: The URL that points to the image to show in the node. background-color: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. background-blacken: type: number description: >- Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. maximum: 1 minimum: -1 background-opacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 background-position-x: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-position-y: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-offset-x: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-offset-y: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-fit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. background-clip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. background-width-relative-to: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. background-height-relative-to: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. border-width: type: number description: The size of the node's border. minimum: 0 border-style: type: string description: The style of the node's border enum: - solid - dotted - dashed - double border-color: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. border-opacity: type: number description: The opacity of the node's border minimum: 0 maximum: 1 padding: type: number description: The amount of padding around all sides of the node. minimum: 0 text-halign: type: string description: The horizontal alignment of a node's label enum: - left - center - right text-valign: type: string description: The vertical alignment of a node's label enum: - top - center - bottom ghost: type: string description: >- Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset. default: 'no' enum: - 'yes' - 'no' active-bg-color: type: string description: >- The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. active-bg-opacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. active-bg-size: type: string description: The opacity of the active background indicator. Selector needs to be *core*. selection-box-color: type: string description: >- The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. selection-box-border-width: type: number description: The size of the border on the selection box. Selector needs to be *core* selection-box-opacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outside-texture-bg-color: type: string description: >- The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. outside-texture-bg-opacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shape-polygon-points: type: string description: >- An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) menu-background-color: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. menu-background-opacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menu-forground-color: type: string description: >- The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. capabilities: x-order: 9 type: array description: >- Meshery manages components in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. ComponentDefinitions may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. items: x-go-type: capabilityv1beta1.Capability x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/capability name: capabilityv1beta1 $id: https://schemas.meshery.io/capability.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. additionalProperties: false type: object required: - description - schemaVersion - version - displayName - kind - type - subType - entityState - key - status x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json properties: schemaVersion: description: >- Specifies the version of the schema to which the capability definition conforms. type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the capability definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: description: Name of the capability in human-readible format. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: type: string description: A written representation of the purpose and characteristics of the capability. maxLength: 5000 kind: description: Top-level categorization of the capability additionalProperties: false anyOf: - const: action description: >- For capabilities related to executing actions on entities. Example: initiate log streaming on a Pod. Example: initiate deployment of a component. - const: mutate description: >- For capabilities related to mutating an entity. Example: the ability to change the configuration of a component. - const: view description: >- For capabilities related to viewing an entity. Example: the ability to view a components configuration. - const: interaction description: >- Catch all for capabilities related to interaction with entities. Example: the ability for a component to be dragged and dropped. Example: supports event bubbling to parent components. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ type: description: Classification of capabilities. Used to group capabilities similar in nature. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ subType: description: >- Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ key: description: Key that backs the capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ entityState: description: State of the entity in which the capability is applicable. type: array items: type: string enum: - declaration - instance pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: >- A string starting with an alphanumeric character. Spaces and hyphens allowed. status: type: string description: Status of the capability default: enabled enum: - enabled - disabled metadata: type: object description: >- Metadata contains additional information associated with the capability. Extension point. additionalProperties: true default: - description: Configure the visual styles for the component displayName: Styling entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: '' type: style version: 0.7.0 - description: Change the shape of the component displayName: Change Shape entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: shape type: style version: 0.7.0 - description: Drag and Drop a component into a parent component in graph view displayName: Compound Drag And Drop entityState: - declaration key: '' kind: interaction schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: compoundDnd type: graph version: 0.7.0 - description: Add text to nodes body displayName: Body Text entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: body-text type: style version: 0.7.0 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: capabilities json: capabilities default: - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Performance Test description: >- Initiate a performance test. Meshery will execute the load generation, collect metrics, and present the results. kind: action type: operator subType: perf-test key: '' entityState: - instance status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Workload Configuration description: Configure the workload specific setting of a component kind: mutate type: configuration subType: config key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Labels and Annotations Configuration description: 'Configure Labels And Annotations for the component ' kind: mutate type: configuration subType: labels-and-annotations key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Relationships description: View relationships for the component kind: view type: configuration subType: relationship key: '' entityState: - declaration - instance status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Json Schema description: 'View Component Definition ' kind: view type: configuration subType: definition key: '' entityState: - declaration - instance status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Styling description: Configure the visual styles for the component kind: mutate type: style subType: '' key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Change Shape description: Change the shape of the component kind: mutate type: style subType: shape key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Compound Drag And Drop description: Drag and Drop a component into a parent component in graph view kind: interaction type: graph subType: compoundDnd key: '' entityState: - declaration status: enabled metadata: null status: x-order: 10 type: string description: >- Status of component, including: - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status. - maintenance: model is unavailable for a period of time. - enabled: model is available for use for all users of this Meshery Server. - ignored: model is unavailable for use for all users of this Meshery Server. default: enabled enum: - ignored - enabled - duplicate - resolved - open x-oapi-codegen-extra-tags: yaml: status json: status metadata: x-order: 11 type: object description: Metadata contains additional information associated with the component. required: - genealogy - isAnnotation - isNamespaced - published - instanceDetails - configurationUISchema properties: genealogy: x-order: 1 type: string description: Genealogy represents the various representational states of the component. isAnnotation: x-order: 2 type: boolean description: >- Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation. default: false isNamespaced: x-order: 3 type: boolean description: Identifies whether the component is scoped to namespace or clsuter wide. published: x-order: 4 type: boolean description: >- 'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered. instanceDetails: x-order: 5 type: object description: InstanceDetails contains information about the instance of the component. configurationUISchema: x-order: 6 type: string description: >- Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ . x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json additionalProperties: true configuration: x-order: 12 description: >- The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema). type: object $comment: >- The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema). x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json component: x-order: 13 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json x-go-type: Component description: >- data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 kind: type: string description: >- The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'. x-order: 2 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 required: - version - kind - schema created_at: x-order: 14 description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true updated_at: x-order: 15 description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true required: - id - displayName - description - schemaVersion - format - version - configuration - metadata - model - modelReference - component preferences: x-go-type: DesignPreferences type: object description: Design-level preferences x-order: 7 properties: layers: type: object description: Map of available layers, where keys are layer names. required: - layers relationships: description: List of relationships between components type: array x-order: 8 x-go-type: '[]*relationship.RelationshipDefinition' x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/relationship name: relationship items: allOf: - description: >- Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships. type: object required: - schemaVersion - version - model - kind - type - subType - id properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true x-order: 1 x-oapi-codegen-extra-tags: yaml: id json: id schemaVersion: description: Specifies the version of the schema used for the relationship definition. x-order: 8 x-oapi-codegen-extra-tags: yaml: schemaVersion json: schemaVersion type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Specifies the version of the relationship definition. x-order: 13 x-oapi-codegen-extra-tags: yaml: version json: version type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ kind: description: >- Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships. type: string enum: - hierarchical - edge - sibling x-order: 4 x-oapi-codegen-extra-tags: yaml: kind json: kind type: description: Classification of relationships. Used to group relationships similar in nature. type: string x-go-name: RelationshipType x-go-type-skip-optional-pointer: true x-order: 12 x-oapi-codegen-extra-tags: yaml: type json: type gorm: column:type subType: description: >- Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship. type: string x-go-type-skip-optional-pointer: true x-order: 10 x-oapi-codegen-extra-tags: yaml: subType json: subType status: type: string description: Status of the relationship. enum: - enabled - ignored - deleted - approved - pending x-order: 11 x-oapi-codegen-extra-tags: yaml: status json: status capabilities: type: array description: Capabilities associated with the relationship. x-order: 2 items: x-go-type: capabilityv1alpha1.Capability x-go-type-import: path: github.com/meshery/schemas/models/v1alpha1/capability name: capabilityv1alpha1 $id: https://schemas.meshery.io/capability.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. additionalProperties: false type: object required: - description - schemaVersion - version - displayName - kind - type - subType - entityState - key - status x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json properties: schemaVersion: description: >- Specifies the version of the schema to which the capability definition conforms. type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the capability definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: description: Name of the capability in human-readible format. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: type: string description: A written representation of the purpose and characteristics of the capability. maxLength: 5000 kind: description: Top-level categorization of the capability additionalProperties: false anyOf: - const: action description: >- For capabilities related to executing actions on entities. Example: initiate log streaming on a Pod. Example: initiate deployment of a component. - const: mutate description: >- For capabilities related to mutating an entity. Example: the ability to change the configuration of a component. - const: view description: >- For capabilities related to viewing an entity. Example: the ability to view a components configuration. - const: interaction description: >- Catch all for capabilities related to interaction with entities. Example: the ability for a component to be dragged and dropped. Example: supports event bubbling to parent components. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ type: description: Classification of capabilities. Used to group capabilities similar in nature. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ subType: description: >- Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ key: description: Key that backs the capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ entityState: description: State of the entity in which the capability is applicable. type: array items: type: string enum: - declaration - instance pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: >- A string starting with an alphanumeric character. Spaces and hyphens allowed. status: type: string description: Status of the capability default: enabled enum: - enabled - disabled metadata: type: object description: >- Metadata contains additional information associated with the capability. Extension point. additionalProperties: true default: - description: Configure the visual styles for the component displayName: Styling entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: '' type: style version: 0.7.0 - description: Change the shape of the component displayName: Change Shape entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: shape type: style version: 0.7.0 - description: Drag and Drop a component into a parent component in graph view displayName: Compound Drag And Drop entityState: - declaration key: '' kind: interaction schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: compoundDnd type: graph version: 0.7.0 - description: Add text to nodes body displayName: Body Text entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: body-text type: style version: 0.7.0 x-oapi-codegen-extra-tags: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: Relationship_Metadata x-order: 5 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true properties: description: description: >- Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management. type: string x-oapi-codegen-extra-tags: yaml: description json: description styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: yaml: styles json: styles type: object description: Visualization styles for a relationship required: - primaryColor - svgColor - svgWhite properties: primaryColor: type: string description: Primary color of the component used for UI representation. x-oapi-codegen-extra-tags: yaml: primaryColor json: primaryColor secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: yaml: secondaryColor,omitempty json: secondaryColor,omitempty svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: yaml: svgWhite json: svgWhite svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: yaml: svgColor json: svgColor svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: yaml: svgComplete,omitempty json: svgComplete,omitempty color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. x-oapi-codegen-extra-tags: yaml: color,omitempty json: color,omitempty text-opacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: yaml: text-opacity,omitempty json: text-opacity,omitempty font-family: type: string description: A comma-separated list of font names to use on the label text. x-go-name: FontFamily x-oapi-codegen-extra-tags: yaml: font-family,omitempty json: font-family,omitempty font-size: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: yaml: font-size,omitempty json: font-size,omitempty font-style: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: yaml: font-style,omitempty json: font-style,omitempty font-weight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: yaml: font-weight,omitempty json: font-weight,omitempty text-transform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: yaml: text-transform,omitempty json: text-transform,omitempty type: string enum: - none - uppercase - lowercase opacity: type: number format: float description: >- The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility x-go-name: Opacity x-oapi-codegen-extra-tags: yaml: opacity,omitempty json: opacity,omitempty z-index: type: integer description: >- An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. x-go-name: ZIndex x-oapi-codegen-extra-tags: yaml: z-index,omitempty json: z-index,omitempty label: type: string description: >- The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id x-go-name: Label x-oapi-codegen-extra-tags: yaml: label,omitempty json: label,omitempty edge-animation: type: string description: >- The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc . x-go-name: EdgeAnimation x-oapi-codegen-extra-tags: yaml: edge-animation,omitempty json: edge-animation,omitempty curve-style: x-go-name: CurveStyle x-oapi-codegen-extra-tags: yaml: curve-style,omitempty json: curve-style,omitempty type: string description: >- The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges. enum: - haystack - straight - bezier - unbundled-bezier - segments - taxi line-color: type: string description: >- The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g. x-go-name: LineColor x-oapi-codegen-extra-tags: yaml: line-color,omitempty json: line-color,omitempty line-style: x-go-name: LineStyle x-oapi-codegen-extra-tags: yaml: line-style,omitempty json: line-style,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed line-cap: x-go-name: LineCap x-oapi-codegen-extra-tags: yaml: line-cap,omitempty json: line-cap,omitempty type: string description: >- The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge. enum: - butt - round - square line-opacity: type: number format: float description: >- The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents. x-go-name: LineOpacity x-oapi-codegen-extra-tags: yaml: line-opacity,omitempty json: line-opacity,omitempty target-arrow-color: type: string description: >- The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. x-go-name: TargetArrowColor x-oapi-codegen-extra-tags: yaml: target-arrow-color,omitempty json: target-arrow-color,omitempty target-arrow-shape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: yaml: target-arrow-shape,omitempty json: target-arrow-shape,omitempty type: string description: The shape of the edge's source arrow enum: - triangle - triangle-tee - circle-triangle - triangle-cross - triangle-backcurve - vee - tee - square - circle - diamond - chevron - none target-arrow-fill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: yaml: target-arrow-fill,omitempty json: target-arrow-fill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow mid-target-arrow-color: type: string description: >- The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. x-go-name: MidTargetArrowColor x-oapi-codegen-extra-tags: yaml: mid-target-arrow-color,omitempty json: mid-target-arrow-color,omitempty mid-target-arrow-shape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: yaml: mid-target-arrow-shape,omitempty json: mid-target-arrow-shape,omitempty type: string description: The shape of the edge's source arrow enum: - triangle - triangle-tee - circle-triangle - triangle-cross - triangle-backcurve - vee - tee - square - circle - diamond - chevron - none mid-target-arrow-fill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: yaml: mid-target-arrow-fill,omitempty json: mid-target-arrow-fill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrow-scale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: yaml: arrow-scale,omitempty json: arrow-scale,omitempty source-label: type: string description: >- The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id x-go-name: SourceLabel x-oapi-codegen-extra-tags: yaml: source-label,omitempty json: source-label,omitempty target-label: type: string description: >- The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id x-go-name: TargetLabel x-oapi-codegen-extra-tags: yaml: target-label,omitempty json: target-label,omitempty isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: yaml: isAnnotation json: isAnnotation model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 x-go-type-skip-optional-pointer: true x-order: 6 description: >- Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model gorm: type:bytes;serializer:json type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 modelId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true x-go-name: ModelId x-order: 7 x-oapi-codegen-extra-tags: json: '-' gorm: index:idx_relationship_definition_dbs_model_id,column:model_id evaluationQuery: description: >- Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. type: string x-order: 3 x-oapi-codegen-extra-tags: yaml: evaluationQuery json: evaluationQuery selectors: x-go-type: SelectorSet x-order: 9 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: selectors,omitempty json: selectors,omitempty type: array description: >- Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved. items: x-go-type: SelectorSetItem type: object description: >- Optional selectors used to match Components. Absence of a selector means that it is applied to all Components. required: - allow properties: allow: description: Selectors used to define relationships which are allowed. x-go-type: Selector x-oapi-codegen-extra-tags: yaml: allow json: allow type: object required: - from - to properties: from: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from json: from to: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to json: to deny: description: >- Optional selectors used to define relationships which should not be created / is restricted. x-go-type: Selector x-oapi-codegen-extra-tags: yaml: deny,omitempty json: deny,omitempty type: object required: - from - to properties: from: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from json: from to: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to json: to required: - id - name - schemaVersion - version - components - relationships evaluationHash: type: string description: >- Hash of the input parameters and configuration used for this evaluation. Useful for identifying duplicate evaluations or caching results. example: a1b2c3d4e5f6g7h8i9j0 maxLength: 500 timestamp: type: string format: date-time description: ISO 8601 formatted timestamp of when the evaluation was completed. actions: type: array items: type: object required: - op - value properties: op: type: string enum: - update_component - update_component_configuration - add_component - delete_component - add_relationship - update_relationship - delete_relationship description: The op of the action. value: type: object description: The value of the action. description: The actions of the evaluationresponse. '400': description: Bad request '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error /api/system/database: get: x-internal: - meshery tags: - System_API_System summary: Get a summary of the Meshery server's database description: Returns a paginated summary of Meshery database tables and row counts. operationId: getSystemDatabase parameters: - name: page in: query description: Zero-based page index for the table list. required: false schema: type: integer minimum: 0 - name: pageSize in: query description: Number of tables to include per page. required: false schema: type: integer minimum: 1 - name: search in: query description: Substring filter applied to table names. required: false schema: type: string maxLength: 255 - name: sort in: query description: Column to order the table list by. required: false schema: type: string enum: - name - name: order in: query description: Sort direction for the `sort` column. required: false schema: type: string enum: - asc - desc responses: '200': description: Database summary content: application/json: schema: type: object description: Paginated summary of the Meshery server's embedded database. additionalProperties: false required: - page - pageSize - totalTables - recordCount - tables properties: page: type: integer description: Zero-based page index of the returned table slice. minimum: 0 pageSize: type: integer description: Number of tables included in this page. minimum: 1 totalTables: type: integer description: Total number of tables in the database matching the search filter. minimum: 0 recordCount: type: integer description: Aggregate row count across the tables returned in this page. minimum: 0 tables: type: array description: Tables included in this page, with per-table row counts. items: type: object description: Database table summary. additionalProperties: false required: - name - type - count properties: name: type: string description: Name of the table. maxLength: 255 type: type: string description: SQLite object type (e.g. `table`). maxLength: 64 count: type: integer description: Number of rows currently in the table. format: int64 minimum: 0 '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error /api/system/database/reset: delete: x-internal: - meshery tags: - System_API_System summary: Reset the Meshery server's database description: Resets the Meshery server database. This is a destructive operation. operationId: resetSystemDatabase responses: '200': description: Database reset content: application/json: schema: type: object description: Status message response. additionalProperties: false required: - message properties: message: type: string description: Human-readable status message. minLength: 1 maxLength: 1024 '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error during reset (archive, drop, migrate, or reseed). /api/system/version: get: x-internal: - cloud - meshery tags: - System_API_System summary: Get the running Meshery server's version metadata description: Returns version metadata for the running Meshery service. operationId: getSystemVersion security: [] responses: '200': description: Server version metadata content: application/json: schema: type: object description: Version metadata for a running Meshery service. additionalProperties: false properties: version: type: string description: Meshery Cloud deployment version. maxLength: 128 build: type: string description: Build identifier (typically the git tag of the running binary). maxLength: 128 latest: type: string description: Latest available Meshery release tag fetched from GitHub. maxLength: 128 outdated: type: boolean description: True when the running build is older than the latest available release. commitsha: type: string description: Git commit SHA of the running service. The wire field is `commitsha`. maxLength: 64 releaseChannel: type: string description: Release channel of the running binary (e.g. `stable`, `edge`). maxLength: 64 '500': description: Encoding error while serializing the version payload. /api/system/sync: get: x-internal: - meshery tags: - System_API_System summary: Get initial session bootstrap data description: Returns session bootstrap data for the authenticated user. operationId: getSystemSync responses: '200': description: Session sync payload content: application/json: schema: type: object description: Session bootstrap payload for the authenticated user. additionalProperties: true properties: k8sConfig: type: array description: Kubernetes contexts currently tracked by the Meshery server. items: type: object description: Kubernetes context tracked by Meshery. additionalProperties: false properties: id: type: string description: Stable identifier for the Kubernetes context. x-id-format: external minLength: 32 maxLength: 32 pattern: ^[0-9a-f]{32}$ name: type: string description: Human-readable name of the Kubernetes context. maxLength: 255 clusterConfigured: type: boolean description: True when Meshery has a usable kubeconfig for this context. server: type: string description: API server URL for the Kubernetes context. maxLength: 2048 clusterId: description: Kubernetes server ID associated with this context. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: When the context was first registered with Meshery. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true updatedAt: description: When the context was last updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Marshal error while serializing the session sync payload. /api/integrations/credentials: get: x-internal: - cloud - meshery tags: - credential_credentials summary: Get credentials operationId: getUserCredentials description: Retrieves all credentials belonging to the authenticated user. parameters: - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string responses: '200': description: Credentials response content: application/json: schema: type: object description: A paginated list of credentials. required: - credentials - total_count - page - page_size properties: credentials: type: array items: x-go-type: Credential type: object additionalProperties: false description: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - id - name - type - userId - createdAt - updatedAt properties: id: description: Unique identifier for the credential. x-order: 1 x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name for the credential. x-order: 2 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 userId: description: UUID of the user who owns this credential. x-order: 3 x-oapi-codegen-extra-tags: db: user_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid type: type: string description: Credential type (e.g. token, basic, AWS). x-order: 4 x-oapi-codegen-extra-tags: db: type maxLength: 255 secret: type: object description: Key-value pairs containing the sensitive credential data. x-order: 5 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: secret createdAt: type: string format: date-time description: Timestamp when the credential was created. x-go-type: time.Time x-go-type-skip-optional-pointer: true x-order: 6 x-oapi-codegen-extra-tags: db: created_at updatedAt: type: string format: date-time description: Timestamp when the credential was last updated. x-go-type: time.Time x-go-type-skip-optional-pointer: true x-order: 7 x-oapi-codegen-extra-tags: db: updated_at deletedAt: type: string format: date-time description: Timestamp when the credential was soft-deleted. x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at x-order: 1 description: The credentials returned on the current page. total_count: type: integer description: Total number of credentials across all pages. x-order: 2 minimum: 0 page: type: integer description: Current page number (zero-based). x-order: 3 minimum: 0 page_size: type: integer description: Number of credentials per page. x-order: 4 minimum: 1 '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string post: x-internal: - cloud - meshery tags: - credential_credentials summary: Save credential operationId: saveUserCredential description: Saves a new credential for the authenticated user. requestBody: required: true content: application/json: schema: type: object description: Payload for creating or updating a credential. required: - name - type properties: id: description: Existing credential ID for updates; omit on create. x-order: 1 x-oapi-codegen-extra-tags: json: id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name for the credential. x-order: 2 minLength: 1 maxLength: 255 userId: description: UUID of the user who owns this credential. x-order: 3 x-oapi-codegen-extra-tags: json: userId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid type: type: string description: Credential type (e.g. token, basic, AWS). x-order: 4 maxLength: 255 secret: type: object description: Key-value pairs containing the sensitive credential data. x-order: 5 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true responses: '201': description: Credential saved content: application/json: schema: type: object additionalProperties: false description: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - id - name - type - userId - createdAt - updatedAt properties: id: description: Unique identifier for the credential. x-order: 1 x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name for the credential. x-order: 2 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 userId: description: UUID of the user who owns this credential. x-order: 3 x-oapi-codegen-extra-tags: db: user_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid type: type: string description: Credential type (e.g. token, basic, AWS). x-order: 4 x-oapi-codegen-extra-tags: db: type maxLength: 255 secret: type: object description: Key-value pairs containing the sensitive credential data. x-order: 5 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: secret createdAt: type: string format: date-time description: Timestamp when the credential was created. x-go-type: time.Time x-go-type-skip-optional-pointer: true x-order: 6 x-oapi-codegen-extra-tags: db: created_at updatedAt: type: string format: date-time description: Timestamp when the credential was last updated. x-go-type: time.Time x-go-type-skip-optional-pointer: true x-order: 7 x-oapi-codegen-extra-tags: db: updated_at deletedAt: type: string format: date-time description: Timestamp when the credential was soft-deleted. x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string put: x-internal: - cloud - meshery tags: - credential_credentials summary: Update credential operationId: updateUserCredential description: Updates an existing credential for the authenticated user. requestBody: required: true content: application/json: schema: type: object description: Payload for creating or updating a credential. required: - name - type properties: id: description: Existing credential ID for updates; omit on create. x-order: 1 x-oapi-codegen-extra-tags: json: id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name for the credential. x-order: 2 minLength: 1 maxLength: 255 userId: description: UUID of the user who owns this credential. x-order: 3 x-oapi-codegen-extra-tags: json: userId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid type: type: string description: Credential type (e.g. token, basic, AWS). x-order: 4 maxLength: 255 secret: type: object description: Key-value pairs containing the sensitive credential data. x-order: 5 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true responses: '200': description: Credential updated content: application/json: schema: type: object additionalProperties: false description: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - id - name - type - userId - createdAt - updatedAt properties: id: description: Unique identifier for the credential. x-order: 1 x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name for the credential. x-order: 2 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 userId: description: UUID of the user who owns this credential. x-order: 3 x-oapi-codegen-extra-tags: db: user_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid type: type: string description: Credential type (e.g. token, basic, AWS). x-order: 4 x-oapi-codegen-extra-tags: db: type maxLength: 255 secret: type: object description: Key-value pairs containing the sensitive credential data. x-order: 5 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: secret createdAt: type: string format: date-time description: Timestamp when the credential was created. x-go-type: time.Time x-go-type-skip-optional-pointer: true x-order: 6 x-oapi-codegen-extra-tags: db: created_at updatedAt: type: string format: date-time description: Timestamp when the credential was last updated. x-go-type: time.Time x-go-type-skip-optional-pointer: true x-order: 7 x-oapi-codegen-extra-tags: db: updated_at deletedAt: type: string format: date-time description: Timestamp when the credential was soft-deleted. x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - credential_credentials summary: Delete credential operationId: deleteUserCredential description: Deletes a credential belonging to the authenticated user. parameters: - name: credentialId in: query description: Credential ID required: true schema: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid responses: '204': description: Credential deleted '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/integrations/credentials/{credentialId}: get: x-internal: - cloud - meshery tags: - credential_credentials summary: Get credential by ID operationId: getCredentialById description: Retrieves a specific credential by its ID. parameters: - name: credentialId in: path description: Credential ID required: true schema: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid responses: '200': description: Credential response content: application/json: schema: type: object additionalProperties: false description: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - id - name - type - userId - createdAt - updatedAt properties: id: description: Unique identifier for the credential. x-order: 1 x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name for the credential. x-order: 2 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 userId: description: UUID of the user who owns this credential. x-order: 3 x-oapi-codegen-extra-tags: db: user_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid type: type: string description: Credential type (e.g. token, basic, AWS). x-order: 4 x-oapi-codegen-extra-tags: db: type maxLength: 255 secret: type: object description: Key-value pairs containing the sensitive credential data. x-order: 5 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: secret createdAt: type: string format: date-time description: Timestamp when the credential was created. x-go-type: time.Time x-go-type-skip-optional-pointer: true x-order: 6 x-oapi-codegen-extra-tags: db: created_at updatedAt: type: string format: date-time description: Timestamp when the credential was last updated. x-go-type: time.Time x-go-type-skip-optional-pointer: true x-order: 7 x-oapi-codegen-extra-tags: db: updated_at deletedAt: type: string format: date-time description: Timestamp when the credential was soft-deleted. x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/orgs/{orgId}/users/keys: get: x-internal: - cloud - meshery tags: - Key_users operationId: getUserKeys summary: Get User Keys description: Get all keys based on roles assigned to user parameters: - name: orgId in: path description: Organization ID required: true schema: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string responses: '200': description: Returns user keys based on roles assigned to user content: application/json: schema: type: object description: A paginated list of authorization keys. required: - page - pageSize - totalCount - keys properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 x-go-type-skip-optional-pointer: true x-order: 1 pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 x-go-type-skip-optional-pointer: true x-order: 2 x-oapi-codegen-extra-tags: json: pageSize totalCount: type: integer description: Total number of items across all pages. minimum: 0 x-go-type-skip-optional-pointer: true x-order: 3 x-oapi-codegen-extra-tags: json: totalCount keys: type: array items: type: object additionalProperties: false description: Represents an authorization key used for access control. required: - id - owner - function - category - subcategory - description - createdAt - updatedAt properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id x-order: 1 owner: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: Owner x-oapi-codegen-extra-tags: db: owner json: owner x-order: 2 function: type: string description: Operation permitted by the key. x-oapi-codegen-extra-tags: db: function json: function x-order: 3 maxLength: 500 category: type: string description: Category for the key. x-oapi-codegen-extra-tags: db: category json: category x-order: 4 maxLength: 500 subcategory: type: string description: Subcategory for the key. x-oapi-codegen-extra-tags: db: subcategory json: subcategory x-order: 5 maxLength: 500 description: type: string description: Human readable description of the key. x-oapi-codegen-extra-tags: db: description json: description x-order: 6 maxLength: 5000 createdAt: type: string format: date-time description: Timestamp when the key was created. x-go-type: time.Time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: created_at json: createdAt x-order: 7 updatedAt: type: string format: date-time description: Timestamp when the key was last updated. x-go-type: time.Time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: updated_at json: updatedAt x-order: 8 deletedAt: type: string format: date-time description: Timestamp when the key was soft-deleted. nullable: true x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt,omitempty x-order: 9 x-order: 4 description: Keys returned on the current page. '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/meshmodels/register: post: x-internal: - cloud - meshery tags: - Model_Models summary: Register mesh models operationId: registerMeshmodels requestBody: required: true content: multipart/form-data: schema: type: object required: - importBody - uploadType - register properties: importBody: oneOf: - title: File Import type: object required: - fileName - modelFile properties: fileName: type: string description: Name of the file being uploaded. maxLength: 255 modelFile: type: string description: >- Supported model file formats are: .tar, .tar.gz, and .tgz. See [Import Models Documentation](https://docs.meshery.io/guides/configuration-management/importing-models#import-models-using-meshery-ui) for details - title: URL Import type: object required: - url properties: url: type: string format: uri description: >- A direct URL to a single model file, for example: https://raw.github.com/your-model-file.tar. Supported model file formats are: .tar, .tar.gz, and .tgz. \n\nFor bulk import of your model use the GitHub connection or CSV files. See [Import Models Documentation](https://docs.meshery.io/guides/configuration-management/importing-models#import-models-using-meshery-ui) for details - title: CSV Import type: object required: - modelCsv - componentCsv - relationshipCsv properties: modelCsv: type: string format: binary description: Upload a CSV file containing model definitions componentCsv: type: string format: binary description: Upload a CSV file containing component definitions relationshipCsv: type: string format: binary description: Upload a CSV file containing relationship definitions - title: Model Create type: object required: - model - url properties: url: type: string description: URI to the source code or package of the model. format: uri oneOf: - title: GitHub type: string pattern: ^git://github\.com/[\w.-]+/[\w.-]+(/[\w.-]+/[\w/-]+)?$ description: Git protocol URL for GitHub repository or specific resource path example: git://github.com/cert-manager/cert-manager/master/deploy/crds x-metadata: uiType: url validationHint: Enter a git protocol URL (e.g., git://github.com/owner/repo) - title: Artifact Hub type: string pattern: >- ^https:\/\/artifacthub\.io\/packages\/(search\?ts_query_web=[\w.-]+|[\w.-]+\/[\w.-]+\/[\w.-]+)$ description: Artifact Hub package URL or search query URL with model name parameter example: https://artifacthub.io/packages/search?ts_query_web={model-name} x-metadata: uiType: url validationHint: >- Enter an Artifact Hub URL (e.g., https://artifacthub.io/packages/search?ts_query_web={meshery-operator}) uploadType: type: string title: Upload method x-enum-casing-exempt: true enum: - file - urlImport - csv - url enumDescriptions: - Upload a model file (.tar, .tar.gz, .tgz) from your local system - Import a model file using a direct URL to the source - Upload separate CSV files for model definitions, components, and their relationships description: >- Choose the method you prefer to upload your model file. Select 'File Import' or 'CSV Import' if you have the file on your local system or 'URL Import' if you have the file hosted online. register: type: boolean nullable: false description: The register of the importrequest. responses: '201': description: Model registered content: application/json: schema: type: object properties: message: type: string '400': description: Invalid request format '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error /api/identity/orgs: get: x-internal: - cloud - meshery tags: - Organization_Organizations security: - Organization_jwt: [] summary: Read organizations description: Returns organizations for the current user. operationId: getOrgs parameters: - name: page in: query description: Zero-based index of the result page to return. schema: type: integer minimum: 0 - name: pageSize in: query description: Maximum number of items returned on each page. schema: type: integer minimum: 1 - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: all in: query description: Get all possible entries schema: type: boolean responses: '200': description: Organizations response content: application/json: schema: type: object description: Paginated list of organizations. properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty organizations: type: array description: Organizations in this page. items: type: object description: Organization listing record used in list and get responses. additionalProperties: false properties: id: description: Organization ID. x-go-name: ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: description: Name of the organization. type: string x-go-type-skip-optional-pointer: true description: description: Description of the organization. type: string x-go-type-skip-optional-pointer: true country: description: Country of the organization. type: string x-go-type-skip-optional-pointer: true region: description: Region of the organization. type: string x-go-type-skip-optional-pointer: true owner: description: Display name of the organization owner. type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object description: Free-form metadata associated with an organization, including preferences. required: - preferences properties: preferences: x-go-type: Preferences type: object description: Organization-level user experience preferences. required: - theme - dashboard properties: theme: x-go-type: Theme type: object description: UI theme configured for an organization. required: - id - logo properties: id: type: string description: Theme identifier. format: uuid maxLength: 36 logo: x-go-type: Logo type: object description: Themed logo assets used across light and dark, desktop and mobile presentations. required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 mobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkDesktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkMobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 vars: type: object additionalProperties: true description: Arbitrary theme variables keyed by name. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior. additionalProperties: true links: x-go-type: Links type: object x-internal: - cloud description: >- Per-organization overrides for the legal and support links shown on the auth pages and the error page. termsOfService and privacy are the named legal links; support is an open-ended set of named support contacts/links. Empty or omitted fields fall back to the platform defaults. properties: termsOfService: type: string format: uri maxLength: 2048 description: URL of the organization's Terms of Service page. privacy: type: string format: uri maxLength: 2048 description: URL of the organization's Privacy Policy page. support: type: object additionalProperties: type: string maxLength: 2048 description: >- Open-ended set of named support contacts/links rendered on the auth and error pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or free text. For example a "slack" entry pointing at https://slack.meshery.io, a "discussion forum" entry, or a "support desk" entry holding a phone number. showAuthCarousel: type: boolean default: true description: >- Whether the feature carousel renders on the organization's auth pages. Unset is treated as true (shown); set false to hide it. createdAt: description: Timestamp when the organization was created. x-oapi-codegen-extra-tags: json: createdAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the organization was last updated. x-oapi-codegen-extra-tags: json: updatedAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the organization was soft-deleted. x-oapi-codegen-extra-tags: json: deletedAt,omitempty type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true '204': description: No content '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string post: x-internal: - cloud - meshery tags: - Organization_Organizations security: - Organization_jwt: [] summary: Create an organization description: Creates a new organization. operationId: createOrg requestBody: description: Body for creating or updating an organization required: true content: application/json: schema: type: object description: Payload for creating or updating an organization. Contains only client-settable fields. properties: name: description: Name of the organization. type: string x-go-type-skip-optional-pointer: true country: description: Country of the organization. type: string x-go-type-skip-optional-pointer: true region: description: Region of the organization. type: string x-go-type-skip-optional-pointer: true description: description: Description of the organization. type: string x-go-type-skip-optional-pointer: true notifyOrgUpdate: type: boolean description: Indicates whether organization members should be notified of this update. preferences: description: Organization-level user experience preferences. type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object description: UI theme configured for an organization. required: - id - logo properties: id: type: string description: Theme identifier. format: uuid maxLength: 36 logo: x-go-type: Logo type: object description: Themed logo assets used across light and dark, desktop and mobile presentations. required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 mobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkDesktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkMobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 vars: type: object additionalProperties: true description: Arbitrary theme variables keyed by name. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior. additionalProperties: true links: x-go-type: Links type: object x-internal: - cloud description: >- Per-organization overrides for the legal and support links shown on the auth pages and the error page. termsOfService and privacy are the named legal links; support is an open-ended set of named support contacts/links. Empty or omitted fields fall back to the platform defaults. properties: termsOfService: type: string format: uri maxLength: 2048 description: URL of the organization's Terms of Service page. privacy: type: string format: uri maxLength: 2048 description: URL of the organization's Privacy Policy page. support: type: object additionalProperties: type: string maxLength: 2048 description: >- Open-ended set of named support contacts/links rendered on the auth and error pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or free text. For example a "slack" entry pointing at https://slack.meshery.io, a "discussion forum" entry, or a "support desk" entry holding a phone number. showAuthCarousel: type: boolean default: true description: >- Whether the feature carousel renders on the organization's auth pages. Unset is treated as true (shown); set false to hide it. responses: '201': description: Single-organization page response content: application/json: schema: type: object description: Single-organization wrapper used by current meshery-cloud organization handlers. properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty organizations: type: array description: Organizations returned in this single-item page wrapper. maxItems: 1 items: type: object description: Organization listing record used in list and get responses. additionalProperties: false properties: id: description: Organization ID. x-go-name: ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: description: Name of the organization. type: string x-go-type-skip-optional-pointer: true description: description: Description of the organization. type: string x-go-type-skip-optional-pointer: true country: description: Country of the organization. type: string x-go-type-skip-optional-pointer: true region: description: Region of the organization. type: string x-go-type-skip-optional-pointer: true owner: description: Display name of the organization owner. type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object description: Free-form metadata associated with an organization, including preferences. required: - preferences properties: preferences: x-go-type: Preferences type: object description: Organization-level user experience preferences. required: - theme - dashboard properties: theme: x-go-type: Theme type: object description: UI theme configured for an organization. required: - id - logo properties: id: type: string description: Theme identifier. format: uuid maxLength: 36 logo: x-go-type: Logo type: object description: Themed logo assets used across light and dark, desktop and mobile presentations. required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 mobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkDesktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkMobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 vars: type: object additionalProperties: true description: Arbitrary theme variables keyed by name. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior. additionalProperties: true links: x-go-type: Links type: object x-internal: - cloud description: >- Per-organization overrides for the legal and support links shown on the auth pages and the error page. termsOfService and privacy are the named legal links; support is an open-ended set of named support contacts/links. Empty or omitted fields fall back to the platform defaults. properties: termsOfService: type: string format: uri maxLength: 2048 description: URL of the organization's Terms of Service page. privacy: type: string format: uri maxLength: 2048 description: URL of the organization's Privacy Policy page. support: type: object additionalProperties: type: string maxLength: 2048 description: >- Open-ended set of named support contacts/links rendered on the auth and error pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or free text. For example a "slack" entry pointing at https://slack.meshery.io, a "discussion forum" entry, or a "support desk" entry holding a phone number. showAuthCarousel: type: boolean default: true description: >- Whether the feature carousel renders on the organization's auth pages. Unset is treated as true (shown); set false to hide it. createdAt: description: Timestamp when the organization was created. x-oapi-codegen-extra-tags: json: createdAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the organization was last updated. x-oapi-codegen-extra-tags: json: updatedAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the organization was soft-deleted. x-oapi-codegen-extra-tags: json: deletedAt,omitempty type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/orgs/by-domain: get: x-internal: - cloud - meshery tags: - Organization_Organizations summary: Get organization by domain operationId: getOrgByDomain parameters: - name: domain in: query required: true description: Domain name of the organization to look up. schema: type: string maxLength: 500 responses: '200': description: Organization response content: application/json: schema: $id: https://schemas.meshery.io/organization.yaml $schema: http://json-schema.org/draft-07/schema# description: >- An organization in Meshery Cloud. Organizations are the top-level tenancy boundary and own teams, workspaces, environments, designs, and other resources. Learn more at https://docs.meshery.io/concepts/logical/organizations type: object additionalProperties: false required: - id - name - country - region - description - owner - metadata - createdAt - updatedAt properties: id: description: Organization ID. x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Name of the organization. minLength: 1 maxLength: 255 x-oapi-codegen-extra-tags: db: name json: name country: type: string description: Country of the organization. maxLength: 500 x-oapi-codegen-extra-tags: db: country json: country region: type: string description: Region of the organization. maxLength: 500 x-oapi-codegen-extra-tags: db: region json: region description: type: string description: Description of the organization. maxLength: 5000 x-oapi-codegen-extra-tags: db: description json: description owner: description: Owner user ID of the organization. x-oapi-codegen-extra-tags: db: owner json: owner type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid metadata: type: object description: Free-form metadata associated with the organization, including preferences. x-go-type: OrgMetadata x-oapi-codegen-extra-tags: db: metadata json: metadata domain: type: string nullable: true description: Domain of the organization. maxLength: 500 x-oapi-codegen-extra-tags: db: domain json: domain,omitempty createdAt: description: Timestamp when the organization was created. type: string format: date-time x-go-type: time.Time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: created_at json: createdAt updatedAt: description: Timestamp when the organization was last updated. type: string format: date-time x-go-type: time.Time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: updated_at json: updatedAt deletedAt: description: Timestamp when the organization was soft-deleted. Null while the organization is active. type: string format: date-time x-go-type: core.NullTime x-go-name: DeletedAt x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt,omitempty '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Organization not found '500': description: Internal server error /api/identity/orgs/{orgId}: get: x-internal: - cloud - meshery tags: - Organization_Organizations security: - Organization_jwt: [] summary: Read an organization description: Returns the organization in the single-item page wrapper currently emitted by meshery-cloud. operationId: getOrg parameters: - name: orgId in: path required: true description: Organization ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true responses: '200': description: Single-organization page response content: application/json: schema: type: object description: Single-organization wrapper used by current meshery-cloud organization handlers. properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty organizations: type: array description: Organizations returned in this single-item page wrapper. maxItems: 1 items: type: object description: Organization listing record used in list and get responses. additionalProperties: false properties: id: description: Organization ID. x-go-name: ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: description: Name of the organization. type: string x-go-type-skip-optional-pointer: true description: description: Description of the organization. type: string x-go-type-skip-optional-pointer: true country: description: Country of the organization. type: string x-go-type-skip-optional-pointer: true region: description: Region of the organization. type: string x-go-type-skip-optional-pointer: true owner: description: Display name of the organization owner. type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object description: Free-form metadata associated with an organization, including preferences. required: - preferences properties: preferences: x-go-type: Preferences type: object description: Organization-level user experience preferences. required: - theme - dashboard properties: theme: x-go-type: Theme type: object description: UI theme configured for an organization. required: - id - logo properties: id: type: string description: Theme identifier. format: uuid maxLength: 36 logo: x-go-type: Logo type: object description: Themed logo assets used across light and dark, desktop and mobile presentations. required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 mobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkDesktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkMobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 vars: type: object additionalProperties: true description: Arbitrary theme variables keyed by name. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior. additionalProperties: true links: x-go-type: Links type: object x-internal: - cloud description: >- Per-organization overrides for the legal and support links shown on the auth pages and the error page. termsOfService and privacy are the named legal links; support is an open-ended set of named support contacts/links. Empty or omitted fields fall back to the platform defaults. properties: termsOfService: type: string format: uri maxLength: 2048 description: URL of the organization's Terms of Service page. privacy: type: string format: uri maxLength: 2048 description: URL of the organization's Privacy Policy page. support: type: object additionalProperties: type: string maxLength: 2048 description: >- Open-ended set of named support contacts/links rendered on the auth and error pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or free text. For example a "slack" entry pointing at https://slack.meshery.io, a "discussion forum" entry, or a "support desk" entry holding a phone number. showAuthCarousel: type: boolean default: true description: >- Whether the feature carousel renders on the organization's auth pages. Unset is treated as true (shown); set false to hide it. createdAt: description: Timestamp when the organization was created. x-oapi-codegen-extra-tags: json: createdAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the organization was last updated. x-oapi-codegen-extra-tags: json: updatedAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the organization was soft-deleted. x-oapi-codegen-extra-tags: json: deletedAt,omitempty type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Organization_Organizations security: - Organization_jwt: [] summary: Delete an organization description: Deletes the organization. operationId: deleteOrg parameters: - name: orgId in: path required: true description: Organization ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true responses: '204': description: Organization deleted '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string put: x-internal: - cloud - meshery tags: - Organization_Organizations security: - Organization_jwt: [] summary: Update an organization description: Updates the organization. operationId: updateOrg parameters: - name: orgId in: path required: true description: Organization ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true requestBody: description: Body for creating or updating an organization required: true content: application/json: schema: type: object description: Payload for creating or updating an organization. Contains only client-settable fields. properties: name: description: Name of the organization. type: string x-go-type-skip-optional-pointer: true country: description: Country of the organization. type: string x-go-type-skip-optional-pointer: true region: description: Region of the organization. type: string x-go-type-skip-optional-pointer: true description: description: Description of the organization. type: string x-go-type-skip-optional-pointer: true notifyOrgUpdate: type: boolean description: Indicates whether organization members should be notified of this update. preferences: description: Organization-level user experience preferences. type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object description: UI theme configured for an organization. required: - id - logo properties: id: type: string description: Theme identifier. format: uuid maxLength: 36 logo: x-go-type: Logo type: object description: Themed logo assets used across light and dark, desktop and mobile presentations. required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 mobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkDesktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkMobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 vars: type: object additionalProperties: true description: Arbitrary theme variables keyed by name. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior. additionalProperties: true links: x-go-type: Links type: object x-internal: - cloud description: >- Per-organization overrides for the legal and support links shown on the auth pages and the error page. termsOfService and privacy are the named legal links; support is an open-ended set of named support contacts/links. Empty or omitted fields fall back to the platform defaults. properties: termsOfService: type: string format: uri maxLength: 2048 description: URL of the organization's Terms of Service page. privacy: type: string format: uri maxLength: 2048 description: URL of the organization's Privacy Policy page. support: type: object additionalProperties: type: string maxLength: 2048 description: >- Open-ended set of named support contacts/links rendered on the auth and error pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or free text. For example a "slack" entry pointing at https://slack.meshery.io, a "discussion forum" entry, or a "support desk" entry holding a phone number. showAuthCarousel: type: boolean default: true description: >- Whether the feature carousel renders on the organization's auth pages. Unset is treated as true (shown); set false to hide it. responses: '200': description: Single-organization page response for the updated organization content: application/json: schema: type: object description: Single-organization wrapper used by current meshery-cloud organization handlers. properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty organizations: type: array description: Organizations returned in this single-item page wrapper. maxItems: 1 items: type: object description: Organization listing record used in list and get responses. additionalProperties: false properties: id: description: Organization ID. x-go-name: ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: description: Name of the organization. type: string x-go-type-skip-optional-pointer: true description: description: Description of the organization. type: string x-go-type-skip-optional-pointer: true country: description: Country of the organization. type: string x-go-type-skip-optional-pointer: true region: description: Region of the organization. type: string x-go-type-skip-optional-pointer: true owner: description: Display name of the organization owner. type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object description: Free-form metadata associated with an organization, including preferences. required: - preferences properties: preferences: x-go-type: Preferences type: object description: Organization-level user experience preferences. required: - theme - dashboard properties: theme: x-go-type: Theme type: object description: UI theme configured for an organization. required: - id - logo properties: id: type: string description: Theme identifier. format: uuid maxLength: 36 logo: x-go-type: Logo type: object description: Themed logo assets used across light and dark, desktop and mobile presentations. required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 mobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkDesktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkMobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 vars: type: object additionalProperties: true description: Arbitrary theme variables keyed by name. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior. additionalProperties: true links: x-go-type: Links type: object x-internal: - cloud description: >- Per-organization overrides for the legal and support links shown on the auth pages and the error page. termsOfService and privacy are the named legal links; support is an open-ended set of named support contacts/links. Empty or omitted fields fall back to the platform defaults. properties: termsOfService: type: string format: uri maxLength: 2048 description: URL of the organization's Terms of Service page. privacy: type: string format: uri maxLength: 2048 description: URL of the organization's Privacy Policy page. support: type: object additionalProperties: type: string maxLength: 2048 description: >- Open-ended set of named support contacts/links rendered on the auth and error pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or free text. For example a "slack" entry pointing at https://slack.meshery.io, a "discussion forum" entry, or a "support desk" entry holding a phone number. showAuthCarousel: type: boolean default: true description: >- Whether the feature carousel renders on the organization's auth pages. Unset is treated as true (shown); set false to hide it. createdAt: description: Timestamp when the organization was created. x-oapi-codegen-extra-tags: json: createdAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the organization was last updated. x-oapi-codegen-extra-tags: json: updatedAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the organization was soft-deleted. x-oapi-codegen-extra-tags: json: deletedAt,omitempty type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/orgs/{orgId}/preferences: get: x-internal: - cloud - meshery tags: - Organization_Organizations security: - Organization_jwt: [] summary: Get organization preferences description: Returns preferences for the specified organization. operationId: getOrgPreferences parameters: - name: orgId in: path required: true description: Organization ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true responses: '200': description: Organization metadata, including preferences content: application/json: schema: type: object description: Free-form metadata associated with an organization, including preferences. required: - preferences properties: preferences: x-go-type: Preferences type: object description: Organization-level user experience preferences. required: - theme - dashboard properties: theme: x-go-type: Theme type: object description: UI theme configured for an organization. required: - id - logo properties: id: type: string description: Theme identifier. format: uuid maxLength: 36 logo: x-go-type: Logo type: object description: Themed logo assets used across light and dark, desktop and mobile presentations. required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 mobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkDesktopView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 darkMobileView: x-go-type: Location type: object description: Image asset anchored to a named location within an organization theme. required: - svg - location properties: svg: type: string description: SVG markup for the asset. maxLength: 500 location: type: string description: Named location of the asset (e.g. header, footer). maxLength: 500 vars: type: object additionalProperties: true description: Arbitrary theme variables keyed by name. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior. additionalProperties: true links: x-go-type: Links type: object x-internal: - cloud description: >- Per-organization overrides for the legal and support links shown on the auth pages and the error page. termsOfService and privacy are the named legal links; support is an open-ended set of named support contacts/links. Empty or omitted fields fall back to the platform defaults. properties: termsOfService: type: string format: uri maxLength: 2048 description: URL of the organization's Terms of Service page. privacy: type: string format: uri maxLength: 2048 description: URL of the organization's Privacy Policy page. support: type: object additionalProperties: type: string maxLength: 2048 description: >- Open-ended set of named support contacts/links rendered on the auth and error pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or free text. For example a "slack" entry pointing at https://slack.meshery.io, a "discussion forum" entry, or a "support desk" entry holding a phone number. showAuthCarousel: type: boolean default: true description: >- Whether the feature carousel renders on the organization's auth pages. Unset is treated as true (shown); set false to hide it. '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/orgs/{orgId}/teams/{teamId}: post: x-internal: - cloud - meshery tags: - Organization_Organizations security: - Organization_jwt: [] summary: Add team to organization or soft delete team description: >- Adds a team to an organization. If request body contains action=delete, tombstones a team by setting its deletedAt timestamp. The team's organization mapping remains intact. operationId: addTeamToOrg parameters: - name: orgId in: path required: true description: Organization ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true - name: teamId in: path required: true description: Team ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true requestBody: required: false content: application/json: schema: type: object description: Optional action payload for POST on /api/identity/orgs/{orgId}/teams/{teamId}. properties: action: type: string description: Internal action to perform on the team resource. enum: - delete responses: '201': description: Team added to organization or team tombstoned content: application/json: schema: oneOf: - type: object description: Paginated list of team-organization mappings. properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty teamsOrganizationsMapping: type: array description: Team-organization mapping entries. items: type: object description: Junction record linking a team to an organization. properties: id: description: Mapping record ID. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true orgId: description: Organization ID for this mapping. x-go-name: OrgID x-oapi-codegen-extra-tags: db: org_id json: orgId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid teamId: description: Team ID for this mapping. x-go-name: TeamID x-oapi-codegen-extra-tags: db: team_id json: teamId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the mapping was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the mapping was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the mapping was soft-deleted. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt,omitempty type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true - type: object description: Paginated list of teams. properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty teams: type: array description: Teams in this page. items: type: object description: Team listing record used in team listings associated with an organization. properties: id: description: Team ID. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true name: description: Name of the team. type: string x-go-type-skip-optional-pointer: true description: description: Description of the team. type: string x-go-type-skip-optional-pointer: true owner: description: Display name of the team owner. type: string x-go-type-skip-optional-pointer: true metadata: description: Free-form team metadata. type: object additionalProperties: type: string x-go-type-skip-optional-pointer: true createdAt: description: Timestamp when the team was created. x-oapi-codegen-extra-tags: json: createdAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the team was last updated. x-oapi-codegen-extra-tags: json: updatedAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the team was soft-deleted. x-oapi-codegen-extra-tags: json: deletedAt,omitempty type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true '400': description: Bad request '401': description: Unauthorized '404': description: Not found '500': description: Internal server error get: x-internal: - cloud - meshery tags: - Team_teams operationId: getTeamById summary: Get a team by ID description: Gets a team by its ID parameters: - name: orgId in: path description: Organization ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true required: true - name: teamId in: path description: Team ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true required: true responses: '200': description: Team content: application/json: schema: $id: https://schemas.meshery.io/team.yaml $schema: http://json-schema.org/draft-07/schema# description: >- A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams additionalProperties: false type: object required: - id - name - createdAt - updatedAt properties: id: description: Team ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: x-oapi-codegen-extra-tags: db: name x-order: 2 type: string description: Team name minLength: 1 maxLength: 255 description: x-oapi-codegen-extra-tags: db: description x-order: 3 type: string description: Team description maxLength: 5000 owner: x-oapi-codegen-extra-tags: db: owner x-order: 4 description: User ID of the owner of the team type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid metadata: x-oapi-codegen-extra-tags: db: metadata x-order: 5 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object description: Additional metadata for the team createdAt: description: Timestamp when the team was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt x-order: 6 type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the team was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt x-order: 7 type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the team was soft-deleted, if applicable. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-order: 8 x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string put: x-internal: - cloud - meshery tags: - Team_teams operationId: updateTeam summary: Update a team description: Updates a team's information parameters: - name: orgId in: path description: Organization ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true required: true - name: teamId in: path description: Team ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true required: true requestBody: description: Body for updating a team required: true content: application/json: schema: type: object description: Payload for updating an existing team properties: name: description: Updated team name type: string x-go-type-skip-optional-pointer: true description: description: Updated team description type: string x-go-type-skip-optional-pointer: true responses: '200': description: Updated team content: application/json: schema: $id: https://schemas.meshery.io/team.yaml $schema: http://json-schema.org/draft-07/schema# description: >- A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams additionalProperties: false type: object required: - id - name - createdAt - updatedAt properties: id: description: Team ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: x-oapi-codegen-extra-tags: db: name x-order: 2 type: string description: Team name minLength: 1 maxLength: 255 description: x-oapi-codegen-extra-tags: db: description x-order: 3 type: string description: Team description maxLength: 5000 owner: x-oapi-codegen-extra-tags: db: owner x-order: 4 description: User ID of the owner of the team type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid metadata: x-oapi-codegen-extra-tags: db: metadata x-order: 5 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object description: Additional metadata for the team createdAt: description: Timestamp when the team was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt x-order: 6 type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the team was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt x-order: 7 type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the team was soft-deleted, if applicable. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-order: 8 x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Team_teams operationId: deleteTeam summary: Delete a team description: Deletes a team by its ID parameters: - name: orgId in: path description: Organization ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true required: true - name: teamId in: path description: Team ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true required: true responses: '204': description: Team deleted '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/orgs/{orgId}/teams/{teamId}/remove: post: x-internal: - cloud - meshery tags: - Organization_Organizations security: - Organization_jwt: [] summary: Remove team from organization description: Removes (unassigns) a team from an organization. operationId: removeTeamFromOrg parameters: - name: orgId in: path required: true description: Organization ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true - name: teamId in: path required: true description: Team ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true responses: '200': description: Team removed from organization content: application/json: schema: type: object description: Paginated list of team-organization mappings. properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty teamsOrganizationsMapping: type: array description: Team-organization mapping entries. items: type: object description: Junction record linking a team to an organization. properties: id: description: Mapping record ID. type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true orgId: description: Organization ID for this mapping. x-go-name: OrgID x-oapi-codegen-extra-tags: db: org_id json: orgId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid teamId: description: Team ID for this mapping. x-go-name: TeamID x-oapi-codegen-extra-tags: db: team_id json: teamId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the mapping was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the mapping was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt,omitempty type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the mapping was soft-deleted. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt,omitempty type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true '400': description: Bad request '401': description: Unauthorized '404': description: Not found '500': description: Internal server error /api/identity/orgs/{orgId}/users/{userId}: post: x-internal: - cloud - meshery tags: - Organization_Organizations security: - Organization_jwt: [] summary: Add user to organization operationId: addUserToOrg parameters: - name: orgId in: path required: true description: Organization ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true - name: userId in: path required: true description: User ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: user_id json: user_id x-go-name: UserID x-go-type-skip-optional-pointer: true responses: '201': description: User added to organization content: application/json: schema: type: object additionalProperties: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Unauthorized '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error delete: x-internal: - cloud - meshery tags: - Organization_Organizations security: - Organization_jwt: [] summary: Remove user from organization operationId: deleteUserFromOrg parameters: - name: orgId in: path required: true description: Organization ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true - name: userId in: path required: true description: User ID. schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: user_id json: user_id x-go-name: UserID x-go-type-skip-optional-pointer: true responses: '204': description: User removed from organization '401': description: Unauthorized '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error /api/identity/orgs/{orgId}/teams: get: x-internal: - cloud - meshery tags: - Team_teams operationId: getTeams summary: Get all teams for an organization description: Gets all teams within an organization parameters: - name: orgId in: path description: Organization ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true required: true - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string responses: '200': description: Teams content: application/json: schema: type: object description: Paginated list of teams properties: page: type: integer description: Current page number of the result set. minimum: 0 page_size: type: integer description: Number of items per page. minimum: 1 total_count: type: integer description: Total number of items available. minimum: 0 teams: type: array x-go-type-skip-optional-pointer: true items: x-go-type: Team $id: https://schemas.meshery.io/team.yaml $schema: http://json-schema.org/draft-07/schema# description: >- A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams additionalProperties: false type: object required: - id - name - createdAt - updatedAt properties: id: description: Team ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: x-oapi-codegen-extra-tags: db: name x-order: 2 type: string description: Team name minLength: 1 maxLength: 255 description: x-oapi-codegen-extra-tags: db: description x-order: 3 type: string description: Team description maxLength: 5000 owner: x-oapi-codegen-extra-tags: db: owner x-order: 4 description: User ID of the owner of the team type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid metadata: x-oapi-codegen-extra-tags: db: metadata x-order: 5 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object description: Additional metadata for the team createdAt: description: Timestamp when the team was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt x-order: 6 type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the team was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt x-order: 7 type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the team was soft-deleted, if applicable. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-order: 8 x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true description: The teams of the teampage. '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string post: x-internal: - cloud - meshery tags: - Team_teams operationId: createTeam summary: Create a team description: Creates a new team within an organization parameters: - name: orgId in: path description: Organization ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true required: true requestBody: description: Body for creating a team required: true content: application/json: schema: type: object description: Payload for creating a new team required: - name properties: name: description: Team name. Provide a meaningful name that represents this team. type: string x-go-type-skip-optional-pointer: true description: description: A detailed description of the team's purpose and responsibilities. type: string x-go-type-skip-optional-pointer: true responses: '201': description: Created team content: application/json: schema: $id: https://schemas.meshery.io/team.yaml $schema: http://json-schema.org/draft-07/schema# description: >- A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams additionalProperties: false type: object required: - id - name - createdAt - updatedAt properties: id: description: Team ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: x-oapi-codegen-extra-tags: db: name x-order: 2 type: string description: Team name minLength: 1 maxLength: 255 description: x-oapi-codegen-extra-tags: db: description x-order: 3 type: string description: Team description maxLength: 5000 owner: x-oapi-codegen-extra-tags: db: owner x-order: 4 description: User ID of the owner of the team type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid metadata: x-oapi-codegen-extra-tags: db: metadata x-order: 5 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object description: Additional metadata for the team createdAt: description: Timestamp when the team was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt x-order: 6 type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the team was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt x-order: 7 type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the team was soft-deleted, if applicable. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-order: 8 x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/teams/{teamId}/users: get: x-internal: - cloud - meshery tags: - Team_teams operationId: getTeamUsers summary: Get all users in a team description: Gets all users that belong to a team parameters: - name: teamId in: path description: Team ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true required: true - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string responses: '200': description: Team users mapping content: application/json: schema: type: object description: Paginated list of user-team mappings properties: page: type: integer description: Current page number of the result set. minimum: 0 page_size: type: integer description: Number of items per page. minimum: 1 total_count: type: integer description: Total number of items available. minimum: 0 usersTeamsMapping: type: array x-go-type-skip-optional-pointer: true items: x-go-type: UsersTeamsMapping type: object description: > Join row between users and teams. The schema name is `UsersTeamsMapping` (rather than `TeamsUsersMapping`) so that pop's tableize default produces the live DB table name `users_teams_mappings`, eliminating the need for an explicit `TableName()` helper on the generated Go struct. properties: id: x-go-name: ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true teamId: description: Team ID x-oapi-codegen-extra-tags: db: team_id json: teamId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid userId: description: User ID x-oapi-codegen-extra-tags: db: user_id json: userId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid roleId: description: > Optional role assigned to this team membership. Nullable because a membership may exist without an explicit role (e.g., team-admin assignments are stamped on insert; non-owner adds may leave `role_id` null until a role is assigned). References `roles.id`. x-oapi-codegen-extra-tags: db: role_id json: roleId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the mapping was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the mapping was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the mapping was soft-deleted, if applicable. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true description: The user-team mappings on the current page. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/orgs/{orgId}/teams/{teamId}/users/{userId}: post: x-internal: - cloud - meshery tags: - Team_teams operationId: addUserToTeam summary: Add a user to a team description: Assigns a user to a team parameters: - name: orgId in: path description: Organization ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true required: true - name: teamId in: path description: Team ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true required: true - name: userId in: path description: User ID schema: type: string description: user's email or username x-go-type-skip-optional-pointer: true required: true responses: '201': description: User added to team content: application/json: schema: type: object description: > Join row between users and teams. The schema name is `UsersTeamsMapping` (rather than `TeamsUsersMapping`) so that pop's tableize default produces the live DB table name `users_teams_mappings`, eliminating the need for an explicit `TableName()` helper on the generated Go struct. properties: id: x-go-name: ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true teamId: description: Team ID x-oapi-codegen-extra-tags: db: team_id json: teamId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid userId: description: User ID x-oapi-codegen-extra-tags: db: user_id json: userId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid roleId: description: > Optional role assigned to this team membership. Nullable because a membership may exist without an explicit role (e.g., team-admin assignments are stamped on insert; non-owner adds may leave `role_id` null until a role is assigned). References `roles.id`. x-oapi-codegen-extra-tags: db: role_id json: roleId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the mapping was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the mapping was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the mapping was soft-deleted, if applicable. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Team_teams operationId: removeUserFromTeam summary: Remove a user from a team description: Unassigns a user from a team parameters: - name: orgId in: path description: Organization ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true required: true - name: teamId in: path description: Team ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true required: true - name: userId in: path description: User ID schema: type: string description: user's email or username x-go-type-skip-optional-pointer: true required: true responses: '204': description: User removed from team '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/orgs/{orgId}/teams/{teamId}/users: get: x-internal: - cloud - meshery tags: - Team_teams operationId: listUsersNotInTeam summary: Get users that are not in a team parameters: - name: orgId in: path description: Organization ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: org_id json: org_id x-go-type-name: OrganizationId x-go-type-skip-optional-pointer: true required: true - name: teamId in: path description: Team ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true required: true - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string responses: '200': description: Users not currently in the team content: application/json: schema: type: object description: Paginated list of team members. properties: page: type: integer description: Current page number of the result set. minimum: 0 page_size: type: integer description: Number of items per page. minimum: 1 total_count: type: integer description: Total number of items available. minimum: 0 data: type: array items: type: object description: > A user who is a prospective or existing team member. Returned by the "list users in team" endpoint. `joinedAt` is the first canonicalised projection field — other user fields (`id`, `firstName`, `lastName`, `email`, `avatarUrl`) continue to flow through `additionalProperties` pending migration of the user schema to the canonical-casing contract. See meshery/schemas#832 for the per-field roadmap. additionalProperties: true properties: joinedAt: description: > Timestamp when the user joined the team. Server-computed from the earliest matching row in `users_teams_mapping` for this (team, user) pair. Server-managed; clients cannot set this. x-oapi-codegen-extra-tags: db: joined_at json: joinedAt x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true description: The data of the teammemberspage. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/orgs/{orgId}/users: get: x-internal: - cloud - meshery tags: - User_users operationId: getUsersForOrg summary: Get organization users description: Returns organization users, optionally filtered by team membership. parameters: - name: orgId in: path required: true description: Organization ID schema: type: string format: uuid - name: page in: query description: Get responses by page schema: type: string - name: pageSize in: query description: Get responses by page size schema: type: string - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: filter in: query description: Get filtered reponses schema: type: string - name: teamId in: query required: false description: Optional team filter when listing organization users schema: type: string format: uuid responses: '200': description: Paginated list of organization users content: application/json: schema: type: object description: Paginated list of users with organization and team role context properties: page: type: integer description: Current page number of the result set. minimum: 0 pageSize: type: integer description: Number of items per page. minimum: 1 totalCount: type: integer description: Total number of items available. minimum: 0 data: type: array items: type: object description: Represents a user required: - id - userId - provider - email - firstName - lastName - status - createdAt - updatedAt - lastLoginTime - deletedAt properties: id: description: Unique identifier for the user x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid userId: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: userId x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Google, Github) example: - local - github - google - twitter x-oapi-codegen-extra-tags: db: provider json: provider email: type: string format: email maxLength: 300 description: User's email address x-oapi-codegen-extra-tags: db: email json: email firstName: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: firstName lastName: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: lastName avatarUrl: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatarUrl status: type: string maxLength: 100 enum: - active - inactive - pending - anonymous description: User account status x-oapi-codegen-extra-tags: db: status json: status bio: type: string maxLength: 1000 default: '' description: User's biography or description x-oapi-codegen-extra-tags: db: bio json: bio country: type: object description: User's country information stored as JSONB additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: country json: country region: type: object description: User's region information stored as JSONB additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: region json: region preferences: x-go-type: Preference description: User preferences stored as JSONB x-oapi-codegen-extra-tags: db: preferences json: preferences x-generate-db-helpers: true type: object required: - anonymousUsageStats - anonymousPerfResults - updatedAt - dashboardPreferences - selectedOrganizationId - selectedWorkspaceForOrganizations - usersExtensionPreferences - remoteProviderPreferences properties: meshAdapters: type: array items: x-go-type: Adapter type: object description: Placeholder for Adapter struct definition. description: The mesh adapters of the preference. grafana: x-go-type: Grafana type: object properties: grafanaUrl: type: string description: Grafana URL for the user configuration. maxLength: 500 grafanaApiKey: type: string description: Grafana API key for the user configuration. maxLength: 500 selectedBoardsConfigs: type: array items: type: object properties: board: type: object description: Placeholder for GrafanaBoard definition (define fields as needed) panels: type: array items: type: object description: Grafana panel structure imported from github.com/grafana-tools/sdk description: Panels selected for the Grafana board configuration. templateVars: type: array items: type: string description: Template variables applied to the selected Grafana board configuration. description: Selected Grafana board configurations for the user. prometheus: x-go-type: Prometheus type: object properties: prometheusUrl: type: string description: The prometheus URL of the prometheus. maxLength: 500 selectedPrometheusBoardsConfigs: type: array items: type: object properties: board: type: object description: Placeholder for GrafanaBoard definition (define fields as needed) panels: type: array items: type: object description: Grafana panel structure imported from github.com/grafana-tools/sdk description: Panels selected for the Grafana board configuration. templateVars: type: array items: type: string description: Template variables applied to the selected Grafana board configuration. description: The selected prometheus boards configs of the prometheus. loadTestPrefs: x-go-type: LoadTestPreferences type: object properties: c: type: integer description: Concurrent requests minimum: 0 qps: type: integer description: Queries per second minimum: 0 t: type: string description: Duration maxLength: 500 gen: type: string description: Load generator maxLength: 500 anonymousUsageStats: type: boolean description: The anonymous usage stats of the preference. anonymousPerfResults: type: boolean description: The anonymous perf results of the preference. updatedAt: type: string format: date-time description: Timestamp of when the resource was last updated. dashboardPreferences: type: object additionalProperties: true description: The dashboard preferences of the preference. selectedOrganizationId: type: string description: ID of the associated selectedOrganization. maxLength: 500 format: uuid selectedWorkspaceForOrganizations: type: object additionalProperties: type: string description: The selected workspace for organizations of the preference. usersExtensionPreferences: type: object additionalProperties: true description: The users extension preferences of the preference. remoteProviderPreferences: type: object additionalProperties: true description: The remote provider preferences of the preference. acceptedTermsAt: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: acceptedTermsAt type: string format: date-time x-go-type-skip-optional-pointer: true firstLoginTime: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: firstLoginTime type: string format: date-time x-go-type-skip-optional-pointer: true lastLoginTime: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: lastLoginTime type: string format: date-time x-go-type-skip-optional-pointer: true createdAt: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: createdAt type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updatedAt type: string format: date-time x-go-type-skip-optional-pointer: true socials: type: array description: Various online profiles associated with the user account x-go-type: UserSocials items: x-go-type: Social description: >- Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on. type: object properties: site: type: string maxLength: 50 description: The site of the social. link: type: string format: uri description: The link of the social. required: - site - link x-oapi-codegen-extra-tags: db: socials json: socials deletedAt: type: string format: date-time nullable: true description: Timestamp when the user record was soft-deleted (null if not deleted) x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt roleNames: type: array items: type: string enum: - admin - meshmap - curator - team admin - workspace admin - workspace manager - organization admin - user description: List of global roles assigned to the user example: - admin - meshmap x-oapi-codegen-extra-tags: db: role_names json: roleNames teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teamsWithRoles: type: array description: Team memberships for the user with their assigned roles. items: type: object x-oapi-codegen-extra-tags: db: teams_with_roles json: teamsWithRoles totalCount: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: totalCount organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizationsWithRoles: type: array description: Organization memberships for the user with their assigned roles. items: type: object x-oapi-codegen-extra-tags: db: organizations_with_roles json: organizationsWithRoles totalCount: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: totalCount additionalProperties: false description: The data of the userspageforadmin. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/users: get: x-internal: - cloud - meshery tags: - User_users operationId: getUsers summary: Get public users description: Returns publicly viewable user records. security: [] parameters: - name: page in: query description: Get responses by page schema: type: string - name: pageSize in: query description: Get responses by page size schema: type: string - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: filter in: query description: Get filtered reponses schema: type: string responses: '200': description: Paginated list of public users content: application/json: schema: type: object description: Paginated list of public user records properties: page: type: integer description: Current page number of the result set. minimum: 0 pageSize: type: integer description: Number of items per page. minimum: 1 totalCount: type: integer description: Total number of items available. minimum: 0 data: type: array items: type: object description: Represents a user required: - id - userId - provider - email - firstName - lastName - status - createdAt - updatedAt - lastLoginTime - deletedAt properties: id: description: Unique identifier for the user x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid userId: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: userId x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Google, Github) example: - local - github - google - twitter x-oapi-codegen-extra-tags: db: provider json: provider email: type: string format: email maxLength: 300 description: User's email address x-oapi-codegen-extra-tags: db: email json: email firstName: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: firstName lastName: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: lastName avatarUrl: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatarUrl status: type: string maxLength: 100 enum: - active - inactive - pending - anonymous description: User account status x-oapi-codegen-extra-tags: db: status json: status bio: type: string maxLength: 1000 default: '' description: User's biography or description x-oapi-codegen-extra-tags: db: bio json: bio country: type: object description: User's country information stored as JSONB additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: country json: country region: type: object description: User's region information stored as JSONB additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: region json: region preferences: x-go-type: Preference description: User preferences stored as JSONB x-oapi-codegen-extra-tags: db: preferences json: preferences x-generate-db-helpers: true type: object required: - anonymousUsageStats - anonymousPerfResults - updatedAt - dashboardPreferences - selectedOrganizationId - selectedWorkspaceForOrganizations - usersExtensionPreferences - remoteProviderPreferences properties: meshAdapters: type: array items: x-go-type: Adapter type: object description: Placeholder for Adapter struct definition. description: The mesh adapters of the preference. grafana: x-go-type: Grafana type: object properties: grafanaUrl: type: string description: Grafana URL for the user configuration. maxLength: 500 grafanaApiKey: type: string description: Grafana API key for the user configuration. maxLength: 500 selectedBoardsConfigs: type: array items: type: object properties: board: type: object description: Placeholder for GrafanaBoard definition (define fields as needed) panels: type: array items: type: object description: Grafana panel structure imported from github.com/grafana-tools/sdk description: Panels selected for the Grafana board configuration. templateVars: type: array items: type: string description: Template variables applied to the selected Grafana board configuration. description: Selected Grafana board configurations for the user. prometheus: x-go-type: Prometheus type: object properties: prometheusUrl: type: string description: The prometheus URL of the prometheus. maxLength: 500 selectedPrometheusBoardsConfigs: type: array items: type: object properties: board: type: object description: Placeholder for GrafanaBoard definition (define fields as needed) panels: type: array items: type: object description: Grafana panel structure imported from github.com/grafana-tools/sdk description: Panels selected for the Grafana board configuration. templateVars: type: array items: type: string description: Template variables applied to the selected Grafana board configuration. description: The selected prometheus boards configs of the prometheus. loadTestPrefs: x-go-type: LoadTestPreferences type: object properties: c: type: integer description: Concurrent requests minimum: 0 qps: type: integer description: Queries per second minimum: 0 t: type: string description: Duration maxLength: 500 gen: type: string description: Load generator maxLength: 500 anonymousUsageStats: type: boolean description: The anonymous usage stats of the preference. anonymousPerfResults: type: boolean description: The anonymous perf results of the preference. updatedAt: type: string format: date-time description: Timestamp of when the resource was last updated. dashboardPreferences: type: object additionalProperties: true description: The dashboard preferences of the preference. selectedOrganizationId: type: string description: ID of the associated selectedOrganization. maxLength: 500 format: uuid selectedWorkspaceForOrganizations: type: object additionalProperties: type: string description: The selected workspace for organizations of the preference. usersExtensionPreferences: type: object additionalProperties: true description: The users extension preferences of the preference. remoteProviderPreferences: type: object additionalProperties: true description: The remote provider preferences of the preference. acceptedTermsAt: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: acceptedTermsAt type: string format: date-time x-go-type-skip-optional-pointer: true firstLoginTime: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: firstLoginTime type: string format: date-time x-go-type-skip-optional-pointer: true lastLoginTime: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: lastLoginTime type: string format: date-time x-go-type-skip-optional-pointer: true createdAt: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: createdAt type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updatedAt type: string format: date-time x-go-type-skip-optional-pointer: true socials: type: array description: Various online profiles associated with the user account x-go-type: UserSocials items: x-go-type: Social description: >- Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on. type: object properties: site: type: string maxLength: 50 description: The site of the social. link: type: string format: uri description: The link of the social. required: - site - link x-oapi-codegen-extra-tags: db: socials json: socials deletedAt: type: string format: date-time nullable: true description: Timestamp when the user record was soft-deleted (null if not deleted) x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt roleNames: type: array items: type: string enum: - admin - meshmap - curator - team admin - workspace admin - workspace manager - organization admin - user description: List of global roles assigned to the user example: - admin - meshmap x-oapi-codegen-extra-tags: db: role_names json: roleNames teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teamsWithRoles: type: array description: Team memberships for the user with their assigned roles. items: type: object x-oapi-codegen-extra-tags: db: teams_with_roles json: teamsWithRoles totalCount: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: totalCount organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizationsWithRoles: type: array description: Organization memberships for the user with their assigned roles. items: type: object x-oapi-codegen-extra-tags: db: organizations_with_roles json: organizationsWithRoles totalCount: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: totalCount additionalProperties: false description: The data of the userspagefornonadmin. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/users/profile/{id}: get: x-internal: - cloud - meshery tags: - User_users operationId: getUserProfileById summary: Get user profile by ID parameters: - name: id in: path required: true description: User ID schema: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid responses: '200': description: User profile for the requested ID content: application/json: schema: type: object description: Represents a user required: - id - userId - provider - email - firstName - lastName - status - createdAt - updatedAt - lastLoginTime - deletedAt properties: id: description: Unique identifier for the user x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid userId: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: userId x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Google, Github) example: - local - github - google - twitter x-oapi-codegen-extra-tags: db: provider json: provider email: type: string format: email maxLength: 300 description: User's email address x-oapi-codegen-extra-tags: db: email json: email firstName: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: firstName lastName: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: lastName avatarUrl: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatarUrl status: type: string maxLength: 100 enum: - active - inactive - pending - anonymous description: User account status x-oapi-codegen-extra-tags: db: status json: status bio: type: string maxLength: 1000 default: '' description: User's biography or description x-oapi-codegen-extra-tags: db: bio json: bio country: type: object description: User's country information stored as JSONB additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: country json: country region: type: object description: User's region information stored as JSONB additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: region json: region preferences: x-go-type: Preference description: User preferences stored as JSONB x-oapi-codegen-extra-tags: db: preferences json: preferences x-generate-db-helpers: true type: object required: - anonymousUsageStats - anonymousPerfResults - updatedAt - dashboardPreferences - selectedOrganizationId - selectedWorkspaceForOrganizations - usersExtensionPreferences - remoteProviderPreferences properties: meshAdapters: type: array items: x-go-type: Adapter type: object description: Placeholder for Adapter struct definition. description: The mesh adapters of the preference. grafana: x-go-type: Grafana type: object properties: grafanaUrl: type: string description: Grafana URL for the user configuration. maxLength: 500 grafanaApiKey: type: string description: Grafana API key for the user configuration. maxLength: 500 selectedBoardsConfigs: type: array items: type: object properties: board: type: object description: Placeholder for GrafanaBoard definition (define fields as needed) panels: type: array items: type: object description: Grafana panel structure imported from github.com/grafana-tools/sdk description: Panels selected for the Grafana board configuration. templateVars: type: array items: type: string description: Template variables applied to the selected Grafana board configuration. description: Selected Grafana board configurations for the user. prometheus: x-go-type: Prometheus type: object properties: prometheusUrl: type: string description: The prometheus URL of the prometheus. maxLength: 500 selectedPrometheusBoardsConfigs: type: array items: type: object properties: board: type: object description: Placeholder for GrafanaBoard definition (define fields as needed) panels: type: array items: type: object description: Grafana panel structure imported from github.com/grafana-tools/sdk description: Panels selected for the Grafana board configuration. templateVars: type: array items: type: string description: Template variables applied to the selected Grafana board configuration. description: The selected prometheus boards configs of the prometheus. loadTestPrefs: x-go-type: LoadTestPreferences type: object properties: c: type: integer description: Concurrent requests minimum: 0 qps: type: integer description: Queries per second minimum: 0 t: type: string description: Duration maxLength: 500 gen: type: string description: Load generator maxLength: 500 anonymousUsageStats: type: boolean description: The anonymous usage stats of the preference. anonymousPerfResults: type: boolean description: The anonymous perf results of the preference. updatedAt: type: string format: date-time description: Timestamp of when the resource was last updated. dashboardPreferences: type: object additionalProperties: true description: The dashboard preferences of the preference. selectedOrganizationId: type: string description: ID of the associated selectedOrganization. maxLength: 500 format: uuid selectedWorkspaceForOrganizations: type: object additionalProperties: type: string description: The selected workspace for organizations of the preference. usersExtensionPreferences: type: object additionalProperties: true description: The users extension preferences of the preference. remoteProviderPreferences: type: object additionalProperties: true description: The remote provider preferences of the preference. acceptedTermsAt: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: acceptedTermsAt type: string format: date-time x-go-type-skip-optional-pointer: true firstLoginTime: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: firstLoginTime type: string format: date-time x-go-type-skip-optional-pointer: true lastLoginTime: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: lastLoginTime type: string format: date-time x-go-type-skip-optional-pointer: true createdAt: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: createdAt type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updatedAt type: string format: date-time x-go-type-skip-optional-pointer: true socials: type: array description: Various online profiles associated with the user account x-go-type: UserSocials items: x-go-type: Social description: Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on. type: object properties: site: type: string maxLength: 50 description: The site of the social. link: type: string format: uri description: The link of the social. required: - site - link x-oapi-codegen-extra-tags: db: socials json: socials deletedAt: type: string format: date-time nullable: true description: Timestamp when the user record was soft-deleted (null if not deleted) x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt roleNames: type: array items: type: string enum: - admin - meshmap - curator - team admin - workspace admin - workspace manager - organization admin - user description: List of global roles assigned to the user example: - admin - meshmap x-oapi-codegen-extra-tags: db: role_names json: roleNames teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teamsWithRoles: type: array description: Team memberships for the user with their assigned roles. items: type: object x-oapi-codegen-extra-tags: db: teams_with_roles json: teamsWithRoles totalCount: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: totalCount organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizationsWithRoles: type: array description: Organization memberships for the user with their assigned roles. items: type: object x-oapi-codegen-extra-tags: db: organizations_with_roles json: organizationsWithRoles totalCount: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: totalCount additionalProperties: false '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/identity/users/profile: get: x-internal: - cloud - meshery tags: - User_users operationId: getUser summary: Get current user profile responses: '200': description: Current user profile and role context content: application/json: schema: type: object description: Represents a user required: - id - userId - provider - email - firstName - lastName - status - createdAt - updatedAt - lastLoginTime - deletedAt properties: id: description: Unique identifier for the user x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid userId: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: userId x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Google, Github) example: - local - github - google - twitter x-oapi-codegen-extra-tags: db: provider json: provider email: type: string format: email maxLength: 300 description: User's email address x-oapi-codegen-extra-tags: db: email json: email firstName: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: firstName lastName: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: lastName avatarUrl: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatarUrl status: type: string maxLength: 100 enum: - active - inactive - pending - anonymous description: User account status x-oapi-codegen-extra-tags: db: status json: status bio: type: string maxLength: 1000 default: '' description: User's biography or description x-oapi-codegen-extra-tags: db: bio json: bio country: type: object description: User's country information stored as JSONB additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: country json: country region: type: object description: User's region information stored as JSONB additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: region json: region preferences: x-go-type: Preference description: User preferences stored as JSONB x-oapi-codegen-extra-tags: db: preferences json: preferences x-generate-db-helpers: true type: object required: - anonymousUsageStats - anonymousPerfResults - updatedAt - dashboardPreferences - selectedOrganizationId - selectedWorkspaceForOrganizations - usersExtensionPreferences - remoteProviderPreferences properties: meshAdapters: type: array items: x-go-type: Adapter type: object description: Placeholder for Adapter struct definition. description: The mesh adapters of the preference. grafana: x-go-type: Grafana type: object properties: grafanaUrl: type: string description: Grafana URL for the user configuration. maxLength: 500 grafanaApiKey: type: string description: Grafana API key for the user configuration. maxLength: 500 selectedBoardsConfigs: type: array items: type: object properties: board: type: object description: Placeholder for GrafanaBoard definition (define fields as needed) panels: type: array items: type: object description: Grafana panel structure imported from github.com/grafana-tools/sdk description: Panels selected for the Grafana board configuration. templateVars: type: array items: type: string description: Template variables applied to the selected Grafana board configuration. description: Selected Grafana board configurations for the user. prometheus: x-go-type: Prometheus type: object properties: prometheusUrl: type: string description: The prometheus URL of the prometheus. maxLength: 500 selectedPrometheusBoardsConfigs: type: array items: type: object properties: board: type: object description: Placeholder for GrafanaBoard definition (define fields as needed) panels: type: array items: type: object description: Grafana panel structure imported from github.com/grafana-tools/sdk description: Panels selected for the Grafana board configuration. templateVars: type: array items: type: string description: Template variables applied to the selected Grafana board configuration. description: The selected prometheus boards configs of the prometheus. loadTestPrefs: x-go-type: LoadTestPreferences type: object properties: c: type: integer description: Concurrent requests minimum: 0 qps: type: integer description: Queries per second minimum: 0 t: type: string description: Duration maxLength: 500 gen: type: string description: Load generator maxLength: 500 anonymousUsageStats: type: boolean description: The anonymous usage stats of the preference. anonymousPerfResults: type: boolean description: The anonymous perf results of the preference. updatedAt: type: string format: date-time description: Timestamp of when the resource was last updated. dashboardPreferences: type: object additionalProperties: true description: The dashboard preferences of the preference. selectedOrganizationId: type: string description: ID of the associated selectedOrganization. maxLength: 500 format: uuid selectedWorkspaceForOrganizations: type: object additionalProperties: type: string description: The selected workspace for organizations of the preference. usersExtensionPreferences: type: object additionalProperties: true description: The users extension preferences of the preference. remoteProviderPreferences: type: object additionalProperties: true description: The remote provider preferences of the preference. acceptedTermsAt: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: acceptedTermsAt type: string format: date-time x-go-type-skip-optional-pointer: true firstLoginTime: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: firstLoginTime type: string format: date-time x-go-type-skip-optional-pointer: true lastLoginTime: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: lastLoginTime type: string format: date-time x-go-type-skip-optional-pointer: true createdAt: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: createdAt type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updatedAt type: string format: date-time x-go-type-skip-optional-pointer: true socials: type: array description: Various online profiles associated with the user account x-go-type: UserSocials items: x-go-type: Social description: Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on. type: object properties: site: type: string maxLength: 50 description: The site of the social. link: type: string format: uri description: The link of the social. required: - site - link x-oapi-codegen-extra-tags: db: socials json: socials deletedAt: type: string format: date-time nullable: true description: Timestamp when the user record was soft-deleted (null if not deleted) x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt roleNames: type: array items: type: string enum: - admin - meshmap - curator - team admin - workspace admin - workspace manager - organization admin - user description: List of global roles assigned to the user example: - admin - meshmap x-oapi-codegen-extra-tags: db: role_names json: roleNames teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teamsWithRoles: type: array description: Team memberships for the user with their assigned roles. items: type: object x-oapi-codegen-extra-tags: db: teams_with_roles json: teamsWithRoles totalCount: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: totalCount organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizationsWithRoles: type: array description: Organization memberships for the user with their assigned roles. items: type: object x-oapi-codegen-extra-tags: db: organizations_with_roles json: organizationsWithRoles totalCount: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: totalCount additionalProperties: false '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/integrations/connections: get: x-internal: - cloud - meshery tags: - Connection_API_Connections operationId: getConnections summary: Get all connections description: >- Returns a paginated list of connections for the authenticated user with filtering, sorting and pagination support parameters: - name: page in: query description: Page number required: false schema: type: integer minimum: 0 default: 0 - name: pageSize in: query description: Number of items per page required: false schema: type: integer minimum: 1 default: 10 - name: search in: query description: Search term required: false schema: type: string maxLength: 500 - name: order in: query description: Sort order required: false schema: type: string maxLength: 500 - name: orgId in: query description: Organization ID to scope the request. required: false schema: type: string format: uuid - name: filter in: query description: Filter connections (general filter string) required: false schema: type: string maxLength: 500 - name: kind in: query description: Filter by connection kind (e.g., kubernetes, prometheus, grafana) required: false schema: type: array items: type: string maxLength: 255 - name: status in: query description: Filter by connection status required: false schema: type: array items: type: string description: Connection Status Value x-go-name: ConnectionStatusValue enum: - discovered - registered - connected - ignored - maintenance - disconnected - deleted - not found - name: type in: query description: Filter by connection type required: false schema: type: array items: type: string maxLength: 255 - name: name in: query description: Filter by connection name (partial match supported) required: false schema: type: string maxLength: 255 responses: '200': description: Paginated list of connections with summary information content: application/json: schema: description: Represents a page of connections with meta information about connections count additionalProperties: false type: object required: - connections - totalCount - page - pageSize properties: connections: type: array description: List of connections on this page x-go-type: '[]*Connection' items: $id: https://schemas.meshery.io/connection.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections additionalProperties: false type: object required: - id - schemaVersion - name - type - subType - kind - status properties: id: description: Connection ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: x-oapi-codegen-extra-tags: db: name x-order: 2 type: string description: Connection Name minLength: 1 maxLength: 255 description: x-oapi-codegen-extra-tags: db: description json: description x-order: 3 type: string description: Human-readable description of the connection and its purpose. maxLength: 1000 url: x-oapi-codegen-extra-tags: db: url json: url x-order: 4 type: string format: uri description: >- URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes API server endpoint, the Grafana instance URL). maxLength: 2048 credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id json: credentialId x-order: 5 description: Associated Credential ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid type: x-oapi-codegen-extra-tags: db: type x-order: 6 type: string description: Connection Type (platform, telemetry, collaboration) maxLength: 255 subType: x-oapi-codegen-extra-tags: db: sub_type json: subType x-order: 7 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) maxLength: 255 kind: x-oapi-codegen-extra-tags: db: kind x-order: 8 type: string description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) maxLength: 255 metadata: x-oapi-codegen-extra-tags: db: metadata x-order: 9 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true type: object description: Additional connection metadata status: x-oapi-codegen-extra-tags: db: status x-order: 10 description: Connection Status type: string enum: - discovered - registered - connected - ignored - maintenance - disconnected - deleted - not found userId: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id json: userId x-order: 11 description: User ID who owns this connection type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the connection was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt x-order: 12 type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the connection was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt x-order: 13 type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the connection was soft-deleted, if applicable. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-order: 14 x-go-type: meshcore.NullTime x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true environments: type: array description: Associated environments for this connection items: x-go-type: '*environmentv1beta3.Environment' x-go-type-import: path: github.com/meshery/schemas/models/v1beta3/environment name: environmentv1beta3 $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta3 name: Production Environment description: Connections and credentials for the production cluster. organizationId: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 createdAt: '0001-01-01T00:00:00Z' metadata: {} updatedAt: '0001-01-01T00:00:00Z' deletedAt: null required: - id - schemaVersion - name - description - organizationId properties: id: description: ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: json: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name json: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description json: description x-order: 4 type: string maxLength: 1000 description: Environment description organizationId: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id json: organizationId x-order: 5 description: Environment organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: x-oapi-codegen-extra-tags: db: owner json: owner x-order: 6 description: Environment owner type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the environment was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-order: 7 x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata json: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updatedAt: description: Timestamp when the environment was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-order: 9 x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: >- Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: core.NullTime x-go-import: database/sql x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: '-' gorm: '-' x-go-type-skip-optional-pointer: true x-order: 15 schemaVersion: description: Specifies the version of the schema used for the definition. x-order: 16 x-oapi-codegen-extra-tags: db: '-' gorm: '-' default: connections.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 x-order: 1 totalCount: type: integer description: Total number of connections on all pages x-oapi-codegen-extra-tags: json: totalCount x-order: 2 minimum: 0 page: type: integer description: Current page number x-order: 3 minimum: 0 pageSize: type: integer description: Number of elements per page x-oapi-codegen-extra-tags: json: pageSize x-order: 4 minimum: 1 statusSummary: type: object description: Aggregate count of connections grouped by status additionalProperties: type: integer x-go-type: map[ConnectionStatusValue]int x-oapi-codegen-extra-tags: json: statusSummary,omitempty x-order: 5 '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string post: x-internal: - cloud - meshery tags: - Connection_API_Connections operationId: registerConnection summary: Register a new connection description: Register a new connection with credentials requestBody: required: true content: application/json: schema: type: object description: Payload for creating or updating a connection properties: id: type: string format: uuid description: Connection ID x-go-name: ConnectionID x-oapi-codegen-extra-tags: json: id,omitempty name: type: string description: Connection name x-oapi-codegen-extra-tags: json: name minLength: 1 maxLength: 255 kind: type: string description: Connection kind x-oapi-codegen-extra-tags: json: kind maxLength: 255 type: type: string description: Connection type x-oapi-codegen-extra-tags: json: type maxLength: 255 subType: type: string description: Connection sub-type x-oapi-codegen-extra-tags: json: subType maxLength: 255 credentialSecret: type: object description: Credential secret data x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: credentialSecret metadata: type: object description: Connection metadata x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: metadata status: type: string description: Connection status x-oapi-codegen-extra-tags: json: status maxLength: 255 credentialId: type: string format: uuid description: Associated credential ID x-go-name: CredentialID x-oapi-codegen-extra-tags: json: credentialId,omitempty required: - name - kind - type - subType - status responses: '201': description: Connection registered content: application/json: schema: $id: https://schemas.meshery.io/connection.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections additionalProperties: false type: object required: - id - schemaVersion - name - type - subType - kind - status properties: id: description: Connection ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: x-oapi-codegen-extra-tags: db: name x-order: 2 type: string description: Connection Name minLength: 1 maxLength: 255 description: x-oapi-codegen-extra-tags: db: description json: description x-order: 3 type: string description: Human-readable description of the connection and its purpose. maxLength: 1000 url: x-oapi-codegen-extra-tags: db: url json: url x-order: 4 type: string format: uri description: >- URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes API server endpoint, the Grafana instance URL). maxLength: 2048 credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id json: credentialId x-order: 5 description: Associated Credential ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid type: x-oapi-codegen-extra-tags: db: type x-order: 6 type: string description: Connection Type (platform, telemetry, collaboration) maxLength: 255 subType: x-oapi-codegen-extra-tags: db: sub_type json: subType x-order: 7 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) maxLength: 255 kind: x-oapi-codegen-extra-tags: db: kind x-order: 8 type: string description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) maxLength: 255 metadata: x-oapi-codegen-extra-tags: db: metadata x-order: 9 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true type: object description: Additional connection metadata status: x-oapi-codegen-extra-tags: db: status x-order: 10 description: Connection Status type: string enum: - discovered - registered - connected - ignored - maintenance - disconnected - deleted - not found userId: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id json: userId x-order: 11 description: User ID who owns this connection type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the connection was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt x-order: 12 type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the connection was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt x-order: 13 type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the connection was soft-deleted, if applicable. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-order: 14 x-go-type: meshcore.NullTime x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true environments: type: array description: Associated environments for this connection items: x-go-type: '*environmentv1beta3.Environment' x-go-type-import: path: github.com/meshery/schemas/models/v1beta3/environment name: environmentv1beta3 $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta3 name: Production Environment description: Connections and credentials for the production cluster. organizationId: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 createdAt: '0001-01-01T00:00:00Z' metadata: {} updatedAt: '0001-01-01T00:00:00Z' deletedAt: null required: - id - schemaVersion - name - description - organizationId properties: id: description: ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: json: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name json: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description json: description x-order: 4 type: string maxLength: 1000 description: Environment description organizationId: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id json: organizationId x-order: 5 description: Environment organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: x-oapi-codegen-extra-tags: db: owner json: owner x-order: 6 description: Environment owner type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the environment was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-order: 7 x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata json: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updatedAt: description: Timestamp when the environment was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-order: 9 x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: core.NullTime x-go-import: database/sql x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: '-' gorm: '-' x-go-type-skip-optional-pointer: true x-order: 15 schemaVersion: description: Specifies the version of the schema used for the definition. x-order: 16 x-oapi-codegen-extra-tags: db: '-' gorm: '-' default: connections.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/integrations/connections/{connectionId}: get: x-internal: - cloud - meshery tags: - Connection_API_Connections operationId: getConnectionById summary: Get connection by ID description: Returns a specific connection by its ID parameters: - name: connectionId in: path required: true description: Connection ID schema: type: string format: uuid responses: '200': description: Connection details content: application/json: schema: $id: https://schemas.meshery.io/connection.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections additionalProperties: false type: object required: - id - schemaVersion - name - type - subType - kind - status properties: id: description: Connection ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: x-oapi-codegen-extra-tags: db: name x-order: 2 type: string description: Connection Name minLength: 1 maxLength: 255 description: x-oapi-codegen-extra-tags: db: description json: description x-order: 3 type: string description: Human-readable description of the connection and its purpose. maxLength: 1000 url: x-oapi-codegen-extra-tags: db: url json: url x-order: 4 type: string format: uri description: >- URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes API server endpoint, the Grafana instance URL). maxLength: 2048 credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id json: credentialId x-order: 5 description: Associated Credential ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid type: x-oapi-codegen-extra-tags: db: type x-order: 6 type: string description: Connection Type (platform, telemetry, collaboration) maxLength: 255 subType: x-oapi-codegen-extra-tags: db: sub_type json: subType x-order: 7 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) maxLength: 255 kind: x-oapi-codegen-extra-tags: db: kind x-order: 8 type: string description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) maxLength: 255 metadata: x-oapi-codegen-extra-tags: db: metadata x-order: 9 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true type: object description: Additional connection metadata status: x-oapi-codegen-extra-tags: db: status x-order: 10 description: Connection Status type: string enum: - discovered - registered - connected - ignored - maintenance - disconnected - deleted - not found userId: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id json: userId x-order: 11 description: User ID who owns this connection type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the connection was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt x-order: 12 type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the connection was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt x-order: 13 type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the connection was soft-deleted, if applicable. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-order: 14 x-go-type: meshcore.NullTime x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true environments: type: array description: Associated environments for this connection items: x-go-type: '*environmentv1beta3.Environment' x-go-type-import: path: github.com/meshery/schemas/models/v1beta3/environment name: environmentv1beta3 $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta3 name: Production Environment description: Connections and credentials for the production cluster. organizationId: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 createdAt: '0001-01-01T00:00:00Z' metadata: {} updatedAt: '0001-01-01T00:00:00Z' deletedAt: null required: - id - schemaVersion - name - description - organizationId properties: id: description: ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: json: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name json: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description json: description x-order: 4 type: string maxLength: 1000 description: Environment description organizationId: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id json: organizationId x-order: 5 description: Environment organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: x-oapi-codegen-extra-tags: db: owner json: owner x-order: 6 description: Environment owner type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the environment was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-order: 7 x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata json: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updatedAt: description: Timestamp when the environment was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-order: 9 x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: core.NullTime x-go-import: database/sql x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: '-' gorm: '-' x-go-type-skip-optional-pointer: true x-order: 15 schemaVersion: description: Specifies the version of the schema used for the definition. x-order: 16 x-oapi-codegen-extra-tags: db: '-' gorm: '-' default: connections.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string put: x-internal: - cloud - meshery tags: - Connection_API_Connections operationId: updateConnection summary: Update a connection description: Update an existing connection parameters: - name: connectionId in: path required: true description: Connection ID schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object description: Payload for creating or updating a connection properties: id: type: string format: uuid description: Connection ID x-go-name: ConnectionID x-oapi-codegen-extra-tags: json: id,omitempty name: type: string description: Connection name x-oapi-codegen-extra-tags: json: name minLength: 1 maxLength: 255 kind: type: string description: Connection kind x-oapi-codegen-extra-tags: json: kind maxLength: 255 type: type: string description: Connection type x-oapi-codegen-extra-tags: json: type maxLength: 255 subType: type: string description: Connection sub-type x-oapi-codegen-extra-tags: json: subType maxLength: 255 credentialSecret: type: object description: Credential secret data x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: credentialSecret metadata: type: object description: Connection metadata x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: metadata status: type: string description: Connection status x-oapi-codegen-extra-tags: json: status maxLength: 255 credentialId: type: string format: uuid description: Associated credential ID x-go-name: CredentialID x-oapi-codegen-extra-tags: json: credentialId,omitempty required: - name - kind - type - subType - status responses: '200': description: Connection updated content: application/json: schema: $id: https://schemas.meshery.io/connection.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections additionalProperties: false type: object required: - id - schemaVersion - name - type - subType - kind - status properties: id: description: Connection ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: x-oapi-codegen-extra-tags: db: name x-order: 2 type: string description: Connection Name minLength: 1 maxLength: 255 description: x-oapi-codegen-extra-tags: db: description json: description x-order: 3 type: string description: Human-readable description of the connection and its purpose. maxLength: 1000 url: x-oapi-codegen-extra-tags: db: url json: url x-order: 4 type: string format: uri description: >- URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes API server endpoint, the Grafana instance URL). maxLength: 2048 credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id json: credentialId x-order: 5 description: Associated Credential ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid type: x-oapi-codegen-extra-tags: db: type x-order: 6 type: string description: Connection Type (platform, telemetry, collaboration) maxLength: 255 subType: x-oapi-codegen-extra-tags: db: sub_type json: subType x-order: 7 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) maxLength: 255 kind: x-oapi-codegen-extra-tags: db: kind x-order: 8 type: string description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) maxLength: 255 metadata: x-oapi-codegen-extra-tags: db: metadata x-order: 9 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true type: object description: Additional connection metadata status: x-oapi-codegen-extra-tags: db: status x-order: 10 description: Connection Status type: string enum: - discovered - registered - connected - ignored - maintenance - disconnected - deleted - not found userId: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id json: userId x-order: 11 description: User ID who owns this connection type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the connection was created. x-oapi-codegen-extra-tags: db: created_at json: createdAt x-order: 12 type: string format: date-time x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the connection was last updated. x-oapi-codegen-extra-tags: db: updated_at json: updatedAt x-order: 13 type: string format: date-time x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the connection was soft-deleted, if applicable. x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-order: 14 x-go-type: meshcore.NullTime x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true environments: type: array description: Associated environments for this connection items: x-go-type: '*environmentv1beta3.Environment' x-go-type-import: path: github.com/meshery/schemas/models/v1beta3/environment name: environmentv1beta3 $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta3 name: Production Environment description: Connections and credentials for the production cluster. organizationId: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 createdAt: '0001-01-01T00:00:00Z' metadata: {} updatedAt: '0001-01-01T00:00:00Z' deletedAt: null required: - id - schemaVersion - name - description - organizationId properties: id: description: ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: json: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name json: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description json: description x-order: 4 type: string maxLength: 1000 description: Environment description organizationId: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id json: organizationId x-order: 5 description: Environment organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: x-oapi-codegen-extra-tags: db: owner json: owner x-order: 6 description: Environment owner type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the environment was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-order: 7 x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata json: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updatedAt: description: Timestamp when the environment was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-order: 9 x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: core.NullTime x-go-import: database/sql x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: '-' gorm: '-' x-go-type-skip-optional-pointer: true x-order: 15 schemaVersion: description: Specifies the version of the schema used for the definition. x-order: 16 x-oapi-codegen-extra-tags: db: '-' gorm: '-' default: connections.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Connection_API_Connections operationId: deleteConnection summary: Delete a connection description: Delete a specific connection parameters: - name: connectionId in: path required: true description: Connection ID schema: type: string format: uuid responses: '204': description: Connection deleted '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/integrations/connections/meshery/{mesheryServerId}: delete: x-internal: - cloud - meshery tags: - Connection_API_Connections operationId: deleteMesheryConnection summary: Delete Meshery instance connection description: Delete a Meshery server connection by server ID parameters: - name: mesheryServerId in: path required: true description: Meshery server ID schema: type: string format: uuid responses: '204': description: Meshery connection deleted '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/integrations/connections/kubernetes/{connectionId}/context: get: x-internal: - cloud - meshery tags: - Connection_API_Connections operationId: getKubernetesContext summary: Get Kubernetes context description: Get Kubernetes context for a specific connection parameters: - name: connectionId in: path required: true description: Connection ID schema: type: string format: uuid responses: '200': description: Kubernetes context content: application/json: schema: type: object '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/environments/{environmentId}/connections/{connectionId}: post: x-internal: - cloud - meshery tags: - Connection_API_Connections operationId: addConnectionToEnvironment summary: Add connection to environment description: Associate a connection with an environment parameters: - name: environmentId in: path required: true description: Environment ID schema: type: string format: uuid - name: connectionId in: path required: true description: Connection ID schema: type: string format: uuid responses: '201': description: Connection added to environment '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Connection_API_Connections operationId: removeConnectionFromEnvironment summary: Remove connection from environment description: Disassociate a connection from an environment parameters: - name: environmentId in: path required: true description: Environment ID schema: type: string format: uuid - name: connectionId in: path required: true description: Connection ID schema: type: string format: uuid responses: '204': description: Connection removed from environment '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/pattern/import: post: x-internal: - cloud - meshery tags: - Design_designs summary: Import Design operationId: importDesign requestBody: required: true content: application/json: schema: description: >- Body for POST /api/pattern/import. Consumed by the server as application/json. Exactly one of two variants must be supplied: a File Import carrying base64-encoded bytes plus a file name, or a URL Import naming a remote location the server will fetch. Sending both variants at once, or neither, is rejected with 400. oneOf: - type: object title: File Import description: >- Upload a design file from the local system. Both `file` and `fileName` are required; the server uses the file name to identify the file type (Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design). required: - file - fileName properties: file: type: string format: byte description: >- Base64-encoded file bytes. Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details. fileName: type: string description: >- The name of the pattern file being imported. Include the extension (e.g. `design.yaml`), as the server uses it to identify the file type. maxLength: 500 name: type: string default: Untitled Design description: >- Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it. minLength: 1 maxLength: 255 - type: object title: URL Import description: >- Import a design by URL. The server will fetch the resource and derive the file type from the response. required: - url properties: url: type: string format: uri description: >- A direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details. name: type: string default: Untitled Design description: >- Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it. minLength: 1 maxLength: 255 responses: '200': description: Successful Import content: application/json: schema: type: object properties: message: type: string '400': description: Invalid request format '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error /api/environments: post: x-internal: - cloud - meshery tags: - Environment_environments operationId: createEnvironment summary: Create an environment description: Creates a new environment requestBody: description: Body for creating environment required: true content: application/json: schema: type: object description: Payload for creating or updating an environment. required: - name - organizationId properties: name: description: >- An environment is a collection of resources. Provide a name that meaningfully represents these resources. You can change the name of the environment even after its creation. type: string x-go-type-skip-optional-pointer: true description: description: >- An environment is a collection of resources, such as connections & credentials. Provide a detailed description to clarify the purpose of this environment and the types of resources it encompasses. You can modify the description at any time. Learn more about environments [here](https://docs.meshery.io/concepts/logical/environments). type: string x-go-type-skip-optional-pointer: true organizationId: type: string description: >- Select an organization in which you want to create this new environment. Keep in mind that the organization cannot be changed after creation. x-go-type-skip-optional-pointer: true x-go-name: OrgId x-oapi-codegen-extra-tags: json: organizationId maxLength: 500 format: uuid responses: '201': description: Created environment content: application/json: schema: $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta3 name: Production Environment description: Connections and credentials for the production cluster. organizationId: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 createdAt: '0001-01-01T00:00:00Z' metadata: {} updatedAt: '0001-01-01T00:00:00Z' deletedAt: null required: - id - schemaVersion - name - description - organizationId properties: id: description: ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: json: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name json: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description json: description x-order: 4 type: string maxLength: 1000 description: Environment description organizationId: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id json: organizationId x-order: 5 description: Environment organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: x-oapi-codegen-extra-tags: db: owner json: owner x-order: 6 description: Environment owner type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the environment was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-order: 7 x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata json: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updatedAt: description: Timestamp when the environment was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-order: 9 x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: core.NullTime x-go-import: database/sql x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string get: x-internal: - cloud - meshery tags: - Environment_environments operationId: getEnvironments summary: Get all environments description: Gets all environments parameters: - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: orgId in: query description: User's organization ID schema: type: string format: uuid maxLength: 36 required: true responses: '200': description: Environments content: application/json: schema: type: object description: Paginated list of environments. properties: page: description: Zero-based page index returned in this response. minimum: 0 type: integer x-go-type-skip-optional-pointer: true pageSize: description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize type: integer x-go-type-skip-optional-pointer: true totalCount: description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount type: integer x-go-type-skip-optional-pointer: true environments: type: array x-go-type-skip-optional-pointer: true items: x-go-type: Environment $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta3 name: Production Environment description: Connections and credentials for the production cluster. organizationId: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 createdAt: '0001-01-01T00:00:00Z' metadata: {} updatedAt: '0001-01-01T00:00:00Z' deletedAt: null required: - id - schemaVersion - name - description - organizationId properties: id: description: ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: json: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name json: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description json: description x-order: 4 type: string maxLength: 1000 description: Environment description organizationId: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id json: organizationId x-order: 5 description: Environment organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: x-oapi-codegen-extra-tags: db: owner json: owner x-order: 6 description: Environment owner type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the environment was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-order: 7 x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata json: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updatedAt: description: Timestamp when the environment was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-order: 9 x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: core.NullTime x-go-import: database/sql x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true description: Environments associated with this resource. '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/environments/{environmentId}: get: x-internal: - cloud - meshery tags: - Environment_environments operationId: getEnvironmentById summary: Get environment by ID parameters: - name: environmentId in: path description: Environment ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true required: true - name: orgId in: query description: User's organization ID schema: type: string format: uuid maxLength: 36 required: true responses: '200': description: Environment page content: application/json: schema: type: object description: Paginated list of environments. properties: page: description: Zero-based page index returned in this response. minimum: 0 type: integer x-go-type-skip-optional-pointer: true pageSize: description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize type: integer x-go-type-skip-optional-pointer: true totalCount: description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount type: integer x-go-type-skip-optional-pointer: true environments: type: array x-go-type-skip-optional-pointer: true items: x-go-type: Environment $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta3 name: Production Environment description: Connections and credentials for the production cluster. organizationId: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 createdAt: '0001-01-01T00:00:00Z' metadata: {} updatedAt: '0001-01-01T00:00:00Z' deletedAt: null required: - id - schemaVersion - name - description - organizationId properties: id: description: ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: json: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name json: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description json: description x-order: 4 type: string maxLength: 1000 description: Environment description organizationId: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id json: organizationId x-order: 5 description: Environment organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: x-oapi-codegen-extra-tags: db: owner json: owner x-order: 6 description: Environment owner type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the environment was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-order: 7 x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata json: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updatedAt: description: Timestamp when the environment was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-order: 9 x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: core.NullTime x-go-import: database/sql x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true description: Environments associated with this resource. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string put: x-internal: - cloud - meshery tags: - Environment_environments operationId: updateEnvironment summary: Update an environment parameters: - name: environmentId in: path description: Environment ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true required: true requestBody: description: Body for creating environment required: true content: application/json: schema: type: object description: Payload for creating or updating an environment. required: - name - organizationId properties: name: description: >- An environment is a collection of resources. Provide a name that meaningfully represents these resources. You can change the name of the environment even after its creation. type: string x-go-type-skip-optional-pointer: true description: description: >- An environment is a collection of resources, such as connections & credentials. Provide a detailed description to clarify the purpose of this environment and the types of resources it encompasses. You can modify the description at any time. Learn more about environments [here](https://docs.meshery.io/concepts/logical/environments). type: string x-go-type-skip-optional-pointer: true organizationId: type: string description: >- Select an organization in which you want to create this new environment. Keep in mind that the organization cannot be changed after creation. x-go-type-skip-optional-pointer: true x-go-name: OrgId x-oapi-codegen-extra-tags: json: organizationId maxLength: 500 format: uuid responses: '200': description: Environment page content: application/json: schema: type: object description: Paginated list of environments. properties: page: description: Zero-based page index returned in this response. minimum: 0 type: integer x-go-type-skip-optional-pointer: true pageSize: description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize type: integer x-go-type-skip-optional-pointer: true totalCount: description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount type: integer x-go-type-skip-optional-pointer: true environments: type: array x-go-type-skip-optional-pointer: true items: x-go-type: Environment $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta3 name: Production Environment description: Connections and credentials for the production cluster. organizationId: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 createdAt: '0001-01-01T00:00:00Z' metadata: {} updatedAt: '0001-01-01T00:00:00Z' deletedAt: null required: - id - schemaVersion - name - description - organizationId properties: id: description: ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: json: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name json: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description json: description x-order: 4 type: string maxLength: 1000 description: Environment description organizationId: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id json: organizationId x-order: 5 description: Environment organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: x-oapi-codegen-extra-tags: db: owner json: owner x-order: 6 description: Environment owner type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the environment was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-order: 7 x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata json: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updatedAt: description: Timestamp when the environment was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-order: 9 x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: core.NullTime x-go-import: database/sql x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true description: Environments associated with this resource. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Environment_environments operationId: deleteEnvironment summary: Delete an environment parameters: - name: environmentId in: path description: Environment ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true required: true responses: '204': description: Environment deleted '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/environments/{environmentId}/connections: get: x-internal: - cloud - meshery tags: - Environment_environments operationId: getEnvironmentConnections summary: Get environment connections parameters: - name: environmentId in: path description: Environment ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true required: true - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: filter in: query required: false description: JSON-encoded filter string used to scope the connection listing. schema: type: string maxLength: 4096 responses: '200': description: Environment connections content: application/json: schema: type: object description: Paginated list of connections associated with an environment. properties: page: type: integer description: Current page number of the result set. minimum: 0 pageSize: type: integer description: Number of items per page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize totalCount: type: integer description: Total number of items available. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount connections: type: array items: type: object additionalProperties: true description: The connections of the environmentconnectionspage. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /events/{eventId}: delete: x-internal: - cloud - meshery tags: - Events_events operationId: deleteEvent summary: Delete a single event parameters: - name: eventId in: path description: ID of the event. required: true schema: type: string format: uuid responses: '204': description: Event deleted '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /events: post: x-internal: - cloud - meshery tags: - Events_events operationId: createEvent summary: Create a new event requestBody: required: true content: application/json: schema: type: object description: Payload for creating a new event. additionalProperties: true properties: userId: type: string format: uuid description: UUID of the user associated with the event. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: UserID x-oapi-codegen-extra-tags: json: userId,omitempty category: type: string description: The category of the event. maxLength: 500 action: type: string description: The action of the event. maxLength: 500 description: type: string description: Description of the event. maxLength: 5000 responses: '201': description: Event created '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /events/delete: post: x-internal: - cloud - meshery tags: - Events_events operationId: bulkDeleteEvents summary: Bulk delete events requestBody: required: true content: application/json: schema: type: object description: Payload for bulk-deleting events by ID. required: - ids properties: ids: type: array items: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid description: UUIDs of the events to delete. responses: '200': description: Events deleted content: application/json: schema: type: object description: Response body returned after bulk event deletion. properties: deleted: type: array items: type: string format: uuid description: UUIDs of events that were deleted. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /events/status: put: x-internal: - cloud - meshery tags: - Events_events operationId: bulkUpdateEventStatus summary: Bulk update event status requestBody: required: true content: application/json: schema: type: object description: Payload for bulk-updating the status of events. required: - ids - status properties: ids: type: array items: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid description: UUIDs of the events to update. status: type: string example: failed description: New status to apply to the selected events. maxLength: 255 responses: '200': description: Events updated content: application/json: schema: type: object description: Response body returned after bulk event status update. properties: updated: type: array items: type: string format: uuid description: UUIDs of events whose status was updated. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /events/{eventId}/status: put: x-internal: - cloud - meshery tags: - Events_events operationId: updateEventStatus summary: Update status of a single event parameters: - name: eventId in: path description: ID of the event. required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object description: Payload for updating the status of a single event. required: - status properties: status: type: string example: completed description: Current status of the event. maxLength: 255 responses: '200': description: Event status updated content: application/json: schema: type: object description: Response body returned after updating an event's status. properties: message: type: string description: Human-readable status message. maxLength: 500 eventId: type: string format: uuid description: UUID of the event whose status was updated. x-oapi-codegen-extra-tags: json: eventId,omitempty status: type: string description: Updated status of the event. maxLength: 255 '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/performance/profiles: get: x-internal: - cloud - meshery tags: - Performance_Profile_performance operationId: getPerformanceProfiles summary: List performance profiles description: Returns the performance profiles owned by the authenticated user, with pagination, search, and ordering. parameters: - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string responses: '200': description: Performance profiles content: application/json: schema: type: object description: Paginated list of performance profiles. required: - page - pageSize - totalCount - profiles properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 maximum: 1000000 x-go-type-skip-optional-pointer: true pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 maximum: 1000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: pageSize totalCount: type: integer description: Total number of performance profiles across all pages. minimum: 0 maximum: 100000000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: totalCount profiles: type: array description: Performance profiles in this page. x-go-type-skip-optional-pointer: true items: x-go-type: PerformanceProfile $id: https://schemas.meshery.io/performance_profile.yaml $schema: http://json-schema.org/draft-07/schema# title: PerformanceProfile description: >- A performance profile captures the configuration for a load test run by Meshery against one or more service-mesh endpoints. Profiles are owned by a user and can optionally be associated with a recurring schedule. Learn more at https://docs.meshery.io/tasks/performance-management additionalProperties: false type: object required: - id - name - userId - createdAt - updatedAt properties: id: description: Unique identifier for the performance profile. x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name of the performance profile. minLength: 1 maxLength: 255 x-order: 2 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name userId: description: User ID of the profile owner. x-order: 3 x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id json: userId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schedule: description: >- Optional schedule ID associated with this performance profile. Null when the profile is not bound to a recurring schedule. nullable: true x-order: 4 x-oapi-codegen-extra-tags: db: schedule json: schedule,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid loadGenerators: type: array description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test. minItems: 1 items: type: string description: Identifier of a single load generator. minLength: 1 maxLength: 64 x-order: 5 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: load_generators gorm: type:text[] json: loadGenerators endpoints: type: array description: Endpoints (URLs) targeted by the performance profile's load test. minItems: 1 items: type: string description: A single endpoint URL targeted by the load test. minLength: 1 maxLength: 2048 x-order: 6 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: endpoints gorm: type:text[] json: endpoints serviceMesh: type: string description: >- Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the profile is mesh-agnostic. maxLength: 100 x-order: 7 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: service_mesh json: serviceMesh concurrentRequest: type: integer description: Number of concurrent requests issued by the load generator. minimum: 1 maximum: 100000 x-order: 8 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: concurrent_request json: concurrentRequest qps: type: integer description: >- Target queries-per-second rate for the load generator. Zero indicates the generator runs unthrottled. minimum: 0 maximum: 1000000 x-order: 9 x-go-name: QPS x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: qps json: qps duration: type: string description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h"). minLength: 1 maxLength: 32 pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$ x-order: 10 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: duration json: duration requestHeaders: type: string description: >- HTTP request headers, serialized as JSON, sent on each load-test request. Empty string when no headers are configured. maxLength: 16384 x-order: 11 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_headers json: requestHeaders requestCookies: type: string description: >- HTTP request cookies, serialized as JSON, sent on each load-test request. Empty string when no cookies are configured. maxLength: 16384 x-order: 12 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_cookies json: requestCookies requestBody: type: string description: HTTP request body sent on each load-test request. Empty string when no body is configured. maxLength: 1048576 x-order: 13 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_body json: requestBody contentType: type: string description: >- Content-Type header value applied to each load-test request body (e.g. "application/json"). Empty string when no body is configured. maxLength: 255 x-order: 14 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: content_type json: contentType metadata: type: object description: Free-form metadata associated with the performance profile. additionalProperties: true x-order: 15 x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata lastRun: description: >- Server-computed timestamp of the most recent load-test run that used this profile. Null until the first run completes. Server-managed; clients must not set this on create/update. nullable: true x-order: 16 x-oapi-codegen-extra-tags: db: last_run json: lastRun,omitempty x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true totalResults: type: integer description: >- Server-computed count of load-test results recorded for this profile. Server-managed; clients must not set this on create/update. minimum: 0 x-order: 17 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: total_results json: totalResults createdAt: description: Timestamp when the performance profile was created. x-order: 18 x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the performance profile was last updated. x-order: 19 x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string post: x-internal: - cloud - meshery tags: - Performance_Profile_performance operationId: upsertPerformanceProfile summary: Create or update a performance profile description: >- Creates a new performance profile when the body omits id, or updates the matching existing profile when an id is provided. requestBody: description: Body for creating or updating a performance profile. required: true content: application/json: schema: type: object description: >- Payload for creating or updating a performance profile. Includes only client-settable fields; server-generated fields (id on create, createdAt, updatedAt, lastRun, totalResults) are populated by the server. required: - name - loadGenerators - endpoints - duration properties: id: description: Existing performance-profile ID for updates; omit on create. x-go-name: ID x-oapi-codegen-extra-tags: json: id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name of the performance profile. minLength: 1 maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: name userId: description: Owner user ID. When omitted, the server infers it from the authenticated user. x-go-name: UserID x-oapi-codegen-extra-tags: json: userId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schedule: description: Optional schedule ID associating the profile with a recurring run. nullable: true x-oapi-codegen-extra-tags: json: schedule,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid loadGenerators: type: array description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test. minItems: 1 items: type: string description: Identifier of a single load generator. minLength: 1 maxLength: 64 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: loadGenerators endpoints: type: array description: Endpoints (URLs) targeted by the performance profile's load test. minItems: 1 items: type: string description: A single endpoint URL targeted by the load test. minLength: 1 maxLength: 2048 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: endpoints serviceMesh: type: string description: >- Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the profile is mesh-agnostic. maxLength: 100 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: serviceMesh,omitempty concurrentRequest: type: integer description: Number of concurrent requests issued by the load generator. minimum: 1 maximum: 100000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: concurrentRequest,omitempty qps: type: integer description: >- Target queries-per-second rate for the load generator. Zero indicates the generator runs unthrottled. minimum: 0 maximum: 1000000 x-go-name: QPS x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: qps,omitempty duration: type: string description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h"). minLength: 1 maxLength: 32 pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$ x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: duration requestHeaders: type: string description: HTTP request headers, serialized as JSON, sent on each load-test request. maxLength: 16384 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: requestHeaders,omitempty requestCookies: type: string description: HTTP request cookies, serialized as JSON, sent on each load-test request. maxLength: 16384 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: requestCookies,omitempty requestBody: type: string description: HTTP request body sent on each load-test request. maxLength: 1048576 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: requestBody,omitempty contentType: type: string description: Content-Type header value applied to each load-test request body (e.g. "application/json"). maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: contentType,omitempty metadata: type: object description: Free-form metadata associated with the performance profile. additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: metadata,omitempty responses: '200': description: Performance profile upserted content: application/json: schema: $id: https://schemas.meshery.io/performance_profile.yaml $schema: http://json-schema.org/draft-07/schema# title: PerformanceProfile description: >- A performance profile captures the configuration for a load test run by Meshery against one or more service-mesh endpoints. Profiles are owned by a user and can optionally be associated with a recurring schedule. Learn more at https://docs.meshery.io/tasks/performance-management additionalProperties: false type: object required: - id - name - userId - createdAt - updatedAt properties: id: description: Unique identifier for the performance profile. x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name of the performance profile. minLength: 1 maxLength: 255 x-order: 2 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name userId: description: User ID of the profile owner. x-order: 3 x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id json: userId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schedule: description: >- Optional schedule ID associated with this performance profile. Null when the profile is not bound to a recurring schedule. nullable: true x-order: 4 x-oapi-codegen-extra-tags: db: schedule json: schedule,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid loadGenerators: type: array description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test. minItems: 1 items: type: string description: Identifier of a single load generator. minLength: 1 maxLength: 64 x-order: 5 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: load_generators gorm: type:text[] json: loadGenerators endpoints: type: array description: Endpoints (URLs) targeted by the performance profile's load test. minItems: 1 items: type: string description: A single endpoint URL targeted by the load test. minLength: 1 maxLength: 2048 x-order: 6 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: endpoints gorm: type:text[] json: endpoints serviceMesh: type: string description: >- Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the profile is mesh-agnostic. maxLength: 100 x-order: 7 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: service_mesh json: serviceMesh concurrentRequest: type: integer description: Number of concurrent requests issued by the load generator. minimum: 1 maximum: 100000 x-order: 8 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: concurrent_request json: concurrentRequest qps: type: integer description: >- Target queries-per-second rate for the load generator. Zero indicates the generator runs unthrottled. minimum: 0 maximum: 1000000 x-order: 9 x-go-name: QPS x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: qps json: qps duration: type: string description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h"). minLength: 1 maxLength: 32 pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$ x-order: 10 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: duration json: duration requestHeaders: type: string description: >- HTTP request headers, serialized as JSON, sent on each load-test request. Empty string when no headers are configured. maxLength: 16384 x-order: 11 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_headers json: requestHeaders requestCookies: type: string description: >- HTTP request cookies, serialized as JSON, sent on each load-test request. Empty string when no cookies are configured. maxLength: 16384 x-order: 12 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_cookies json: requestCookies requestBody: type: string description: HTTP request body sent on each load-test request. Empty string when no body is configured. maxLength: 1048576 x-order: 13 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_body json: requestBody contentType: type: string description: >- Content-Type header value applied to each load-test request body (e.g. "application/json"). Empty string when no body is configured. maxLength: 255 x-order: 14 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: content_type json: contentType metadata: type: object description: Free-form metadata associated with the performance profile. additionalProperties: true x-order: 15 x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata lastRun: description: >- Server-computed timestamp of the most recent load-test run that used this profile. Null until the first run completes. Server-managed; clients must not set this on create/update. nullable: true x-order: 16 x-oapi-codegen-extra-tags: db: last_run json: lastRun,omitempty x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true totalResults: type: integer description: >- Server-computed count of load-test results recorded for this profile. Server-managed; clients must not set this on create/update. minimum: 0 x-order: 17 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: total_results json: totalResults createdAt: description: Timestamp when the performance profile was created. x-order: 18 x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the performance profile was last updated. x-order: 19 x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/performance/profiles/{performanceProfileId}: get: x-internal: - cloud - meshery tags: - Performance_Profile_performance operationId: getPerformanceProfile summary: Get a performance profile by ID description: Returns a single performance profile owned by (or visible to) the authenticated user. parameters: - name: performanceProfileId in: path description: Performance profile ID. schema: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid required: true responses: '200': description: Performance profile content: application/json: schema: $id: https://schemas.meshery.io/performance_profile.yaml $schema: http://json-schema.org/draft-07/schema# title: PerformanceProfile description: >- A performance profile captures the configuration for a load test run by Meshery against one or more service-mesh endpoints. Profiles are owned by a user and can optionally be associated with a recurring schedule. Learn more at https://docs.meshery.io/tasks/performance-management additionalProperties: false type: object required: - id - name - userId - createdAt - updatedAt properties: id: description: Unique identifier for the performance profile. x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name of the performance profile. minLength: 1 maxLength: 255 x-order: 2 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name userId: description: User ID of the profile owner. x-order: 3 x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id json: userId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schedule: description: >- Optional schedule ID associated with this performance profile. Null when the profile is not bound to a recurring schedule. nullable: true x-order: 4 x-oapi-codegen-extra-tags: db: schedule json: schedule,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid loadGenerators: type: array description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test. minItems: 1 items: type: string description: Identifier of a single load generator. minLength: 1 maxLength: 64 x-order: 5 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: load_generators gorm: type:text[] json: loadGenerators endpoints: type: array description: Endpoints (URLs) targeted by the performance profile's load test. minItems: 1 items: type: string description: A single endpoint URL targeted by the load test. minLength: 1 maxLength: 2048 x-order: 6 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: endpoints gorm: type:text[] json: endpoints serviceMesh: type: string description: >- Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the profile is mesh-agnostic. maxLength: 100 x-order: 7 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: service_mesh json: serviceMesh concurrentRequest: type: integer description: Number of concurrent requests issued by the load generator. minimum: 1 maximum: 100000 x-order: 8 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: concurrent_request json: concurrentRequest qps: type: integer description: >- Target queries-per-second rate for the load generator. Zero indicates the generator runs unthrottled. minimum: 0 maximum: 1000000 x-order: 9 x-go-name: QPS x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: qps json: qps duration: type: string description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h"). minLength: 1 maxLength: 32 pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$ x-order: 10 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: duration json: duration requestHeaders: type: string description: >- HTTP request headers, serialized as JSON, sent on each load-test request. Empty string when no headers are configured. maxLength: 16384 x-order: 11 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_headers json: requestHeaders requestCookies: type: string description: >- HTTP request cookies, serialized as JSON, sent on each load-test request. Empty string when no cookies are configured. maxLength: 16384 x-order: 12 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_cookies json: requestCookies requestBody: type: string description: HTTP request body sent on each load-test request. Empty string when no body is configured. maxLength: 1048576 x-order: 13 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_body json: requestBody contentType: type: string description: >- Content-Type header value applied to each load-test request body (e.g. "application/json"). Empty string when no body is configured. maxLength: 255 x-order: 14 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: content_type json: contentType metadata: type: object description: Free-form metadata associated with the performance profile. additionalProperties: true x-order: 15 x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata lastRun: description: >- Server-computed timestamp of the most recent load-test run that used this profile. Null until the first run completes. Server-managed; clients must not set this on create/update. nullable: true x-order: 16 x-oapi-codegen-extra-tags: db: last_run json: lastRun,omitempty x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true totalResults: type: integer description: >- Server-computed count of load-test results recorded for this profile. Server-managed; clients must not set this on create/update. minimum: 0 x-order: 17 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: total_results json: totalResults createdAt: description: Timestamp when the performance profile was created. x-order: 18 x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the performance profile was last updated. x-order: 19 x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string put: x-internal: - cloud - meshery tags: - Performance_Profile_performance operationId: updatePerformanceProfile summary: Update a performance profile description: Updates the performance profile identified by the path parameter. parameters: - name: performanceProfileId in: path description: Performance profile ID. schema: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid required: true requestBody: description: Body for creating or updating a performance profile. required: true content: application/json: schema: type: object description: >- Payload for creating or updating a performance profile. Includes only client-settable fields; server-generated fields (id on create, createdAt, updatedAt, lastRun, totalResults) are populated by the server. required: - name - loadGenerators - endpoints - duration properties: id: description: Existing performance-profile ID for updates; omit on create. x-go-name: ID x-oapi-codegen-extra-tags: json: id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name of the performance profile. minLength: 1 maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: name userId: description: Owner user ID. When omitted, the server infers it from the authenticated user. x-go-name: UserID x-oapi-codegen-extra-tags: json: userId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schedule: description: Optional schedule ID associating the profile with a recurring run. nullable: true x-oapi-codegen-extra-tags: json: schedule,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid loadGenerators: type: array description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test. minItems: 1 items: type: string description: Identifier of a single load generator. minLength: 1 maxLength: 64 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: loadGenerators endpoints: type: array description: Endpoints (URLs) targeted by the performance profile's load test. minItems: 1 items: type: string description: A single endpoint URL targeted by the load test. minLength: 1 maxLength: 2048 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: endpoints serviceMesh: type: string description: >- Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the profile is mesh-agnostic. maxLength: 100 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: serviceMesh,omitempty concurrentRequest: type: integer description: Number of concurrent requests issued by the load generator. minimum: 1 maximum: 100000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: concurrentRequest,omitempty qps: type: integer description: >- Target queries-per-second rate for the load generator. Zero indicates the generator runs unthrottled. minimum: 0 maximum: 1000000 x-go-name: QPS x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: qps,omitempty duration: type: string description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h"). minLength: 1 maxLength: 32 pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$ x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: duration requestHeaders: type: string description: HTTP request headers, serialized as JSON, sent on each load-test request. maxLength: 16384 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: requestHeaders,omitempty requestCookies: type: string description: HTTP request cookies, serialized as JSON, sent on each load-test request. maxLength: 16384 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: requestCookies,omitempty requestBody: type: string description: HTTP request body sent on each load-test request. maxLength: 1048576 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: requestBody,omitempty contentType: type: string description: Content-Type header value applied to each load-test request body (e.g. "application/json"). maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: contentType,omitempty metadata: type: object description: Free-form metadata associated with the performance profile. additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: metadata,omitempty responses: '200': description: Performance profile content: application/json: schema: $id: https://schemas.meshery.io/performance_profile.yaml $schema: http://json-schema.org/draft-07/schema# title: PerformanceProfile description: >- A performance profile captures the configuration for a load test run by Meshery against one or more service-mesh endpoints. Profiles are owned by a user and can optionally be associated with a recurring schedule. Learn more at https://docs.meshery.io/tasks/performance-management additionalProperties: false type: object required: - id - name - userId - createdAt - updatedAt properties: id: description: Unique identifier for the performance profile. x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Human-readable name of the performance profile. minLength: 1 maxLength: 255 x-order: 2 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name userId: description: User ID of the profile owner. x-order: 3 x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id json: userId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schedule: description: >- Optional schedule ID associated with this performance profile. Null when the profile is not bound to a recurring schedule. nullable: true x-order: 4 x-oapi-codegen-extra-tags: db: schedule json: schedule,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid loadGenerators: type: array description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test. minItems: 1 items: type: string description: Identifier of a single load generator. minLength: 1 maxLength: 64 x-order: 5 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: load_generators gorm: type:text[] json: loadGenerators endpoints: type: array description: Endpoints (URLs) targeted by the performance profile's load test. minItems: 1 items: type: string description: A single endpoint URL targeted by the load test. minLength: 1 maxLength: 2048 x-order: 6 x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: endpoints gorm: type:text[] json: endpoints serviceMesh: type: string description: >- Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the profile is mesh-agnostic. maxLength: 100 x-order: 7 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: service_mesh json: serviceMesh concurrentRequest: type: integer description: Number of concurrent requests issued by the load generator. minimum: 1 maximum: 100000 x-order: 8 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: concurrent_request json: concurrentRequest qps: type: integer description: >- Target queries-per-second rate for the load generator. Zero indicates the generator runs unthrottled. minimum: 0 maximum: 1000000 x-order: 9 x-go-name: QPS x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: qps json: qps duration: type: string description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h"). minLength: 1 maxLength: 32 pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$ x-order: 10 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: duration json: duration requestHeaders: type: string description: >- HTTP request headers, serialized as JSON, sent on each load-test request. Empty string when no headers are configured. maxLength: 16384 x-order: 11 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_headers json: requestHeaders requestCookies: type: string description: >- HTTP request cookies, serialized as JSON, sent on each load-test request. Empty string when no cookies are configured. maxLength: 16384 x-order: 12 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_cookies json: requestCookies requestBody: type: string description: HTTP request body sent on each load-test request. Empty string when no body is configured. maxLength: 1048576 x-order: 13 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: request_body json: requestBody contentType: type: string description: >- Content-Type header value applied to each load-test request body (e.g. "application/json"). Empty string when no body is configured. maxLength: 255 x-order: 14 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: content_type json: contentType metadata: type: object description: Free-form metadata associated with the performance profile. additionalProperties: true x-order: 15 x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata lastRun: description: >- Server-computed timestamp of the most recent load-test run that used this profile. Null until the first run completes. Server-managed; clients must not set this on create/update. nullable: true x-order: 16 x-oapi-codegen-extra-tags: db: last_run json: lastRun,omitempty x-go-type: NullTime type: string format: date-time x-go-type-skip-optional-pointer: true totalResults: type: integer description: >- Server-computed count of load-test results recorded for this profile. Server-managed; clients must not set this on create/update. minimum: 0 x-order: 17 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: total_results json: totalResults createdAt: description: Timestamp when the performance profile was created. x-order: 18 x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the performance profile was last updated. x-order: 19 x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Performance_Profile_performance operationId: deletePerformanceProfile summary: Delete a performance profile description: Deletes the performance profile identified by the path parameter and any associated performance results. parameters: - name: performanceProfileId in: path description: Performance profile ID. schema: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid required: true responses: '204': description: Performance profile deleted '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/performance/profiles/{performanceProfileId}/results: get: x-internal: - cloud - meshery tags: - Performance_Profile_performance operationId: getPerformanceProfileResults summary: List performance results for a profile description: Returns paginated load-test results associated with the performance profile identified by the path parameter. parameters: - name: performanceProfileId in: path description: Performance profile ID. schema: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid required: true - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string responses: '200': description: Performance results content: application/json: schema: type: object description: Paginated list of performance results. required: - page - pageSize - totalCount - results properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 maximum: 1000000 x-go-type-skip-optional-pointer: true pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 maximum: 1000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: pageSize totalCount: type: integer description: Total number of performance results across all pages. minimum: 0 maximum: 100000000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: totalCount results: type: array description: Performance results in this page. x-go-type-skip-optional-pointer: true items: x-go-type: PerformanceResult type: object description: Load-test result captured for a Meshery performance profile. additionalProperties: false properties: mesheryId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: ID x-oapi-codegen-extra-tags: db: id json: mesheryId,omitempty name: type: string description: Human-readable name of the performance result. maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name,omitempty mesh: type: string description: Service mesh under test for this result. maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: mesh json: mesh,omitempty performanceProfile: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid nullable: true x-oapi-codegen-extra-tags: db: performance_profile json: performanceProfile,omitempty testId: type: string description: Provider-assigned test identifier for this result. maxLength: 255 x-go-name: TestID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: testId,omitempty runnerResults: type: object description: Raw load-generator output for this performance result. additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: runner_results json: runnerResults,omitempty serverMetrics: type: object description: Server-side metrics collected for this performance result. additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: server_metrics json: serverMetrics,omitempty serverBoardConfig: type: object description: Server board configuration associated with this performance result. additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: server_board_config json: serverBoardConfig,omitempty testStartTime: type: string format: date-time description: Time when the load test started. x-oapi-codegen-extra-tags: db: test_start_time json: testStartTime,omitempty userId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id json: userId,omitempty createdAt: description: Timestamp when the performance result was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the performance result was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/performance/results: get: x-internal: - cloud - meshery tags: - Performance_Profile_performance operationId: getPerformanceResults summary: List all performance results description: Returns paginated load-test results visible to the authenticated user. parameters: - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: from in: query description: Start date for filtering results by test start time, in YYYY-MM-DD format. schema: type: string format: date - name: to in: query description: End date for filtering results by test start time, in YYYY-MM-DD format. schema: type: string format: date responses: '200': description: Performance results content: application/json: schema: type: object description: Paginated list of performance results. required: - page - pageSize - totalCount - results properties: page: type: integer description: Zero-based page index returned in this response. minimum: 0 maximum: 1000000 x-go-type-skip-optional-pointer: true pageSize: type: integer description: Maximum number of items returned on each page. minimum: 1 maximum: 1000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: pageSize totalCount: type: integer description: Total number of performance results across all pages. minimum: 0 maximum: 100000000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: totalCount results: type: array description: Performance results in this page. x-go-type-skip-optional-pointer: true items: x-go-type: PerformanceResult type: object description: Load-test result captured for a Meshery performance profile. additionalProperties: false properties: mesheryId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: ID x-oapi-codegen-extra-tags: db: id json: mesheryId,omitempty name: type: string description: Human-readable name of the performance result. maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name,omitempty mesh: type: string description: Service mesh under test for this result. maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: mesh json: mesh,omitempty performanceProfile: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid nullable: true x-oapi-codegen-extra-tags: db: performance_profile json: performanceProfile,omitempty testId: type: string description: Provider-assigned test identifier for this result. maxLength: 255 x-go-name: TestID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: testId,omitempty runnerResults: type: object description: Raw load-generator output for this performance result. additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: runner_results json: runnerResults,omitempty serverMetrics: type: object description: Server-side metrics collected for this performance result. additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: server_metrics json: serverMetrics,omitempty serverBoardConfig: type: object description: Server board configuration associated with this performance result. additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: server_board_config json: serverBoardConfig,omitempty testStartTime: type: string format: date-time description: Time when the load test started. x-oapi-codegen-extra-tags: db: test_start_time json: testStartTime,omitempty userId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id json: userId,omitempty createdAt: description: Timestamp when the performance result was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the performance result was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/workspaces: get: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: getWorkspaces summary: Get all workspaces description: Gets all workspaces accessible to the current user, optionally scoped to a specific organization. parameters: - name: orgId in: query description: Organization ID used to scope the workspace listing. schema: type: string format: uuid maxLength: 36 required: false - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: filter in: query description: JSON-encoded filter string used for assignment and soft-delete filters. schema: type: string maxLength: 4096 responses: '200': description: Workspaces content: application/json: schema: type: object description: Paginated list of workspaces. properties: page: description: Zero-based page index returned in this response. minimum: 0 type: integer x-go-type-skip-optional-pointer: true pageSize: description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty type: integer x-go-type-skip-optional-pointer: true totalCount: description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty type: integer x-go-type-skip-optional-pointer: true workspaces: type: array description: List of workspaces with resolved owner details. x-go-type-skip-optional-pointer: true items: x-go-type: AvailableWorkspace type: object description: Workspace with resolved owner details, as returned in list and get responses. additionalProperties: false properties: id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true name: type: string description: Name of the workspace. maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name,omitempty description: type: string description: Description of the workspace. maxLength: 5000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: description json: description,omitempty orgName: type: string description: Name of the owning organization. maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: org_name json: orgName,omitempty owner: type: string description: Display name of the workspace owner. maxLength: 255 x-oapi-codegen-extra-tags: db: owner json: owner,omitempty ownerId: description: User ID of the workspace owner. x-go-name: OwnerId x-oapi-codegen-extra-tags: db: owner_id json: ownerId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid ownerEmail: type: string description: Email address of the workspace owner. format: email maxLength: 320 x-oapi-codegen-extra-tags: db: owner_email json: ownerEmail,omitempty ownerAvatar: type: string description: Avatar URL of the workspace owner. format: uri maxLength: 2048 x-oapi-codegen-extra-tags: db: owner_avatar json: ownerAvatar,omitempty metadata: type: object description: Metadata associated with the workspace. x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata,omitempty organizationId: description: Organization to which this workspace belongs. x-go-name: OrganizationId x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: organization_id json: organizationId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the workspace was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the workspace was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the workspace was soft-deleted. Null while the workspace is active. x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at json: deletedAt,omitempty x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string post: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: createWorkspace summary: Create a workspace description: Creates a new workspace. requestBody: description: Body for creating a workspace required: true content: application/json: schema: type: object description: Payload for creating a workspace. required: - name - organizationId properties: name: type: string description: Name of the workspace. minLength: 1 maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: name,omitempty description: type: string description: Description of the workspace. maxLength: 5000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: description,omitempty organizationId: type: string description: Organization ID. maxLength: 36 format: uuid x-go-type-skip-optional-pointer: true x-go-name: OrganizationID x-oapi-codegen-extra-tags: json: organizationId,omitempty metadata: type: object description: Metadata associated with the workspace. x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: metadata,omitempty responses: '201': description: Created workspace content: application/json: schema: $id: https://schemas.meshery.io/workspace.yaml $schema: http://json-schema.org/draft-07/schema# description: >- A workspace is a logical grouping of resources within an organization. Workspaces provide a way to organize environments, designs, teams, and views. Learn more at https://docs.meshery.io/concepts/logical/workspaces additionalProperties: false type: object required: - id - name - organizationId - createdAt - updatedAt properties: id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true name: type: string description: Name of the workspace. minLength: 1 maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name,omitempty description: type: string description: Description of the workspace. maxLength: 5000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: description json: description,omitempty organizationId: description: Organization to which this workspace belongs. x-go-name: OrganizationID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: organization_id json: organizationId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: description: User ID of the workspace owner. x-oapi-codegen-extra-tags: db: owner json: owner,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid metadata: type: object description: Metadata associated with the workspace. x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata createdAt: description: Timestamp when the workspace was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the workspace was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the workspace was soft-deleted. Null while the workspace is active. x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at json: deletedAt,omitempty x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/workspaces/{workspaceId}: get: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: getWorkspaceById summary: Get a workspace by ID description: Gets a workspace by its ID. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true responses: '200': description: Workspace content: application/json: schema: $id: https://schemas.meshery.io/workspace.yaml $schema: http://json-schema.org/draft-07/schema# description: >- A workspace is a logical grouping of resources within an organization. Workspaces provide a way to organize environments, designs, teams, and views. Learn more at https://docs.meshery.io/concepts/logical/workspaces additionalProperties: false type: object required: - id - name - organizationId - createdAt - updatedAt properties: id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true name: type: string description: Name of the workspace. minLength: 1 maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name,omitempty description: type: string description: Description of the workspace. maxLength: 5000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: description json: description,omitempty organizationId: description: Organization to which this workspace belongs. x-go-name: OrganizationID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: organization_id json: organizationId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: description: User ID of the workspace owner. x-oapi-codegen-extra-tags: db: owner json: owner,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid metadata: type: object description: Metadata associated with the workspace. x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata createdAt: description: Timestamp when the workspace was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the workspace was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the workspace was soft-deleted. Null while the workspace is active. x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at json: deletedAt,omitempty x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string put: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: updateWorkspace summary: Update a workspace description: Updates a workspace. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true requestBody: description: Body for updating a workspace required: true content: application/json: schema: type: object description: Payload for updating a workspace. required: - organizationId properties: name: type: string description: Name of the workspace. minLength: 1 maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: name,omitempty description: type: string description: Description of the workspace. maxLength: 5000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: description,omitempty organizationId: type: string description: Organization ID. maxLength: 36 format: uuid x-go-type-skip-optional-pointer: true x-go-name: OrganizationID x-oapi-codegen-extra-tags: json: organizationId,omitempty metadata: type: object description: Metadata associated with the workspace. x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: json: metadata,omitempty responses: '200': description: Workspace content: application/json: schema: $id: https://schemas.meshery.io/workspace.yaml $schema: http://json-schema.org/draft-07/schema# description: >- A workspace is a logical grouping of resources within an organization. Workspaces provide a way to organize environments, designs, teams, and views. Learn more at https://docs.meshery.io/concepts/logical/workspaces additionalProperties: false type: object required: - id - name - organizationId - createdAt - updatedAt properties: id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true name: type: string description: Name of the workspace. minLength: 1 maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name,omitempty description: type: string description: Description of the workspace. maxLength: 5000 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: description json: description,omitempty organizationId: description: Organization to which this workspace belongs. x-go-name: OrganizationID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: organization_id json: organizationId,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: description: User ID of the workspace owner. x-oapi-codegen-extra-tags: db: owner json: owner,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid metadata: type: object description: Metadata associated with the workspace. x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata createdAt: description: Timestamp when the workspace was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the workspace was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the workspace was soft-deleted. Null while the workspace is active. x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at json: deletedAt,omitempty x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: deleteWorkspace summary: Delete a workspace description: Deletes a workspace by its ID. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true responses: '204': description: Workspace deleted '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/workspaces/{workspaceId}/teams: get: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: getTeamsOfWorkspace summary: Get teams assigned to a workspace description: Gets teams assigned to or available for a workspace depending on the filter. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: filter in: query description: JSON-encoded filter string used for assignment and soft-delete filters. schema: type: string maxLength: 4096 responses: '200': description: Teams content: application/json: schema: type: object description: Paginated list of teams properties: page: type: integer x-go-type-skip-optional-pointer: true page_size: type: integer x-go-type-skip-optional-pointer: true total_count: type: integer x-go-type-skip-optional-pointer: true teams: type: array x-go-type-skip-optional-pointer: true items: x-go-type: Team $id: https://schemas.meshery.io/team.yaml $schema: http://json-schema.org/draft-07/schema# description: >- A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams additionalProperties: false type: object required: - id - name properties: id: description: Team ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id yaml: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: x-oapi-codegen-extra-tags: db: name yaml: name x-order: 2 type: string description: Team name minLength: 1 maxLength: 255 description: x-oapi-codegen-extra-tags: db: description yaml: description x-order: 3 type: string description: Team description maxLength: 5000 owner: x-oapi-codegen-extra-tags: db: owner yaml: owner x-order: 4 description: User ID of the owner of the team type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid metadata: x-oapi-codegen-extra-tags: db: metadata yaml: metadata x-order: 5 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object description: Additional metadata for the team created_at: x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-order: 6 type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-order: 7 type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-order: 8 description: SQL null Timestamp to handle null values of time. x-go-type: meshcore.NullTime x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true description: The teams of the teampage. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/workspaces/{workspaceId}/teams/{teamId}: post: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: assignTeamToWorkspace summary: Assign a team to a workspace description: Assigns a team to a workspace. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: teamId in: path description: Team ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true required: true responses: '200': description: Workspace team mappings content: application/json: schema: type: object description: Paginated list of workspace-team mappings. properties: page: type: integer x-go-type-skip-optional-pointer: true description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer x-go-type-skip-optional-pointer: true description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer x-go-type-skip-optional-pointer: true description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty workspacesTeamsMapping: type: array description: Workspace-team mapping entries. x-go-type-skip-optional-pointer: true items: x-go-type: WorkspacesTeamsMapping type: object description: Junction record linking a workspace to a team. additionalProperties: false required: - id - workspaceId - teamId properties: id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true workspaceId: description: Workspace ID for this mapping. x-go-name: WorkspaceID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: workspace_id json: workspaceId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid teamId: description: Team ID for this mapping. x-go-name: TeamID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: team_id json: teamId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the mapping was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the mapping was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the mapping was soft-deleted. x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at json: deletedAt,omitempty x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: unassignTeamFromWorkspace summary: Unassign a team from a workspace description: Removes a team from a workspace. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: teamId in: path description: Team ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true required: true responses: '204': description: Workspace team mapping removed '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/workspaces/{workspaceId}/environments: get: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: getEnvironmentsOfWorkspace summary: Get environments assigned to a workspace description: Gets environments assigned to or available for a workspace depending on the filter. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: filter in: query description: JSON-encoded filter string used for assignment and soft-delete filters. schema: type: string maxLength: 4096 responses: '200': description: Environments content: application/json: schema: type: object description: Paginated list of environments. properties: page: description: Zero-based page index returned in this response. minimum: 0 type: integer x-go-type-skip-optional-pointer: true pageSize: description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize type: integer x-go-type-skip-optional-pointer: true totalCount: description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount type: integer x-go-type-skip-optional-pointer: true environments: type: array x-go-type-skip-optional-pointer: true items: x-go-type: Environment $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta3 name: Production Environment description: Connections and credentials for the production cluster. organizationId: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 createdAt: '0001-01-01T00:00:00Z' metadata: {} updatedAt: '0001-01-01T00:00:00Z' deletedAt: null required: - id - schemaVersion - name - description - organizationId properties: id: description: ID x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid schemaVersion: description: Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: json: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name json: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description json: description x-order: 4 type: string maxLength: 1000 description: Environment description organizationId: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id json: organizationId x-order: 5 description: Environment organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner: x-oapi-codegen-extra-tags: db: owner json: owner x-order: 6 description: Environment owner type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the environment was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt x-order: 7 x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata json: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updatedAt: description: Timestamp when the environment was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt x-order: 9 x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at json: deletedAt x-go-type: core.NullTime x-go-import: database/sql x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true description: Environments associated with this resource. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/workspaces/{workspaceId}/environments/{environmentId}: post: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: assignEnvironmentToWorkspace summary: Assign an environment to a workspace description: Assigns an environment to a workspace. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: environmentId in: path description: Environment ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: environment_id json: environment_id x-go-type-name: EnvironmentId x-go-type-skip-optional-pointer: true required: true responses: '200': description: Workspace environment mappings content: application/json: schema: type: object description: Paginated list of workspace-environment mappings. properties: page: type: integer x-go-type-skip-optional-pointer: true description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer x-go-type-skip-optional-pointer: true description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer x-go-type-skip-optional-pointer: true description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty workspacesEnvironmentsMapping: type: array description: Workspace-environment mapping entries. x-go-type-skip-optional-pointer: true items: x-go-type: WorkspacesEnvironmentsMapping type: object description: Junction record linking a workspace to an environment. additionalProperties: false required: - id - workspaceId - environmentId properties: id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true workspaceId: description: Workspace ID for this mapping. x-go-name: WorkspaceID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: workspace_id json: workspaceId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid environmentId: description: Environment ID for this mapping. x-go-name: EnvironmentID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: environment_id json: environmentId type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid createdAt: description: Timestamp when the mapping was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the mapping was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the mapping was soft-deleted. x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at json: deletedAt,omitempty x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Workspace_workspaces operationId: unassignEnvironmentFromWorkspace summary: Unassign an environment from a workspace description: Removes an environment from a workspace. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: environmentId in: path description: Environment ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: environment_id json: environment_id x-go-type-name: EnvironmentId x-go-type-skip-optional-pointer: true required: true responses: '204': description: Workspace environment mapping removed '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/workspaces/{workspaceId}/designs: get: x-internal: - cloud - meshery tags: - Workspace_workspaces - Workspace_designs operationId: getDesignsOfWorkspace summary: Get designs assigned to a workspace description: Gets designs assigned to or available for a workspace depending on the filter. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: filter in: query description: JSON-encoded filter string used for assignment and soft-delete filters. schema: type: string maxLength: 4096 responses: '200': description: Designs content: application/json: schema: type: object description: Paginated list of designs. properties: page: type: integer x-go-type-skip-optional-pointer: true description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer x-go-type-skip-optional-pointer: true description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer x-go-type-skip-optional-pointer: true description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty designs: type: array description: Designs in this page. x-go-type-skip-optional-pointer: true items: type: object properties: catalogData: x-go-type: catalogv1beta1.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/catalog name: catalogv1beta1 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string class: description: >- Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability. type: string oneOf: - const: official description: >- Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. - const: verified description: >- Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. - const: reference architecture description: >- Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability. compatibility: type: array title: Model items: enum: - kubernetes type: string uniqueItems: true minItems: 1 description: >- One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential. pattern_caveats: type: string title: Caveats and Considerations description: >- Specific stipulations to consider and known behaviors to be aware of when using this design. pattern_info: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type enum: - Deployment - Observability - Resiliency - Scaling - Security - Traffic-management - Troubleshooting - Workloads default: Deployment description: Categorization of the type of design or operational flow depicted in this design. snapshotURL: type: array items: type: string format: uri pattern: ^(https?|http?|oci):// description: Contains reference to the dark and light mode snapshots of the design. required: - compatibility - pattern_caveats - pattern_info - type created_at: type: string format: date-time x-go-type-skip-optional-pointer: true user_id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true location: type: object additionalProperties: type: string x-go-type-skip-optional-pointer: true name: type: string x-go-type-skip-optional-pointer: true patternFile: x-go-type: PatternFile $schema: http://json-schema.org/draft-07/schema# title: Design Schema description: >- Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes. type: object additionalProperties: false properties: id: x-order: 1 type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: Name of the design; a descriptive, but concise title for the design document. x-order: 2 schemaVersion: description: Specifies the version of the schema to which the design conforms. x-order: 3 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: default: v0.0.1 x-order: 4 description: >- Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number. minLength: 1 maxLength: 50 type: string pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ metadata: type: object x-order: 5 additionalProperties: true properties: resolvedAliases: description: Map of resolved aliases present in the design type: object x-go-type: map[string]core.ResolvedAlias x-go-type-import: path: github.com/meshery/schemas/models/core name: core additionalProperties: description: >- An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also allOf: - description: >- An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents type: object properties: relationship_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid alias_component_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid immediate_parent_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid immediate_ref_field_path: type: array items: type: string required: - relationship_id - alias_component_id - immediate_parent_id - immediate_ref_field_path - type: object properties: resolved_parent_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid resolved_ref_field_path: type: array items: type: string required: - resolved_parent_id - resolved_ref_field_path components: description: A list of one or more component declarations. minItems: 0 x-order: 6 type: array x-go-type: '[]*component.ComponentDefinition' x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/component name: component items: allOf: - $id: https://schemas.meshery.io/component.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components additionalProperties: false type: object properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-oapi-codegen-extra-tags: yaml: id json: id schemaVersion: x-order: 2 description: >- Specifies the version of the schema to which the component definition conforms. x-oapi-codegen-extra-tags: yaml: schemaVersion json: schemaVersion default: components.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: x-order: 3 description: Version of the component definition. minLength: 1 maxLength: 50 x-oapi-codegen-extra-tags: yaml: version json: version type: string pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: x-order: 4 description: Name of the component in human-readible format. x-oapi-codegen-extra-tags: yaml: displayName json: displayName type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: x-order: 5 type: string description: A written representation of the purpose and characteristics of the component. x-oapi-codegen-extra-tags: yaml: description json: description format: x-order: 6 type: string enum: - JSON - CUE default: JSON description: >- Format specifies the format used in the `component.schema` field. JSON is the default. x-oapi-codegen-extra-tags: yaml: format json: format model: x-go-type: '*modelv1beta1.ModelDefinition' x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 x-order: 7 description: >- Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: gorm: foreignKey:ModelId;references:ID json: model yaml: model $id: https://schemas.meshery.io/model.yaml $schema: http://json-schema.org/draft-07/schema# additionalProperties: false type: object properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-oapi-codegen-extra-tags: yaml: id json: id schemaVersion: description: Specifies the version of the schema used for the definition. x-order: 2 x-oapi-codegen-extra-tags: yaml: schemaVersion json: schemaVersion default: models.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the model definition. type: string x-order: 3 x-oapi-codegen-extra-tags: yaml: version json: version minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ name: type: string description: The unique name for the model within the scope of a registrant. helperText: Model name should be in lowercase with hyphens, not whitespaces. pattern: ^[a-z0-9-]+$ examples: - cert-manager x-order: 4 x-oapi-codegen-extra-tags: yaml: name json: name default: untitled-model displayName: description: Human-readable name for the model. helperText: >- Model display name may include letters, numbers, and spaces. Special characters are not allowed. minLength: 1 maxLength: 100 type: string pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager x-order: 5 x-oapi-codegen-extra-tags: yaml: displayName json: displayName default: Untitled Model description: type: string default: A new Meshery model. description: Description of the model. minLength: 1 maxLength: 1000 x-order: 6 x-oapi-codegen-extra-tags: yaml: description,omitempty json: description,omitempty status: type: string description: >- Status of model, including: - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status. - maintenance: model is unavailable for a period of time. - enabled: model is available for use for all users of this Meshery Server. - ignored: model is unavailable for use for all users of this Meshery Server. enum: - ignored - enabled - duplicate x-order: 7 x-oapi-codegen-extra-tags: yaml: status json: status default: enabled registrant: x-oapi-codegen-extra-tags: yaml: registrant json: registrant gorm: foreignKey:RegistrantId;references:ID x-order: 8 x-go-type: connectionv1beta1.Connection x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/connection name: connectionv1beta1 $id: https://schemas.meshery.io/connection.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections additionalProperties: false type: object required: - id - schemaVersion - name - type - subType - kind - status properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id yaml: id name: x-oapi-codegen-extra-tags: db: name yaml: name x-order: 2 type: string description: Connection Name credentialId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 type: x-oapi-codegen-extra-tags: db: type yaml: type x-order: 4 type: string description: Connection Type (platform, telemetry, collaboration) subType: x-oapi-codegen-extra-tags: db: sub_type yaml: subType x-order: 5 type: string description: >- Connection Subtype (cloud, identity, metrics, chat, git, orchestration) kind: x-oapi-codegen-extra-tags: db: kind yaml: kind x-order: 6 type: string description: >- Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) metadata: x-oapi-codegen-extra-tags: db: metadata yaml: metadata x-order: 7 x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core x-go-type-skip-optional-pointer: true type: object description: Additional connection metadata status: x-oapi-codegen-extra-tags: db: status yaml: status x-order: 8 description: Connection Status type: string enum: - discovered - registered - connected - ignored - maintenance - disconnected - deleted - not found user_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 created_at: type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-order: 10 updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-order: 11 deleted_at: x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-order: 12 description: SQL null Timestamp to handle null values of time. x-go-type: meshcore.NullTime x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true environments: type: array description: Associated environments for this connection items: x-go-type: '*environmentv1beta1.Environment' x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/environment name: environmentv1beta1 $id: https://schemas.meshery.io/environment.yaml $schema: http://json-schema.org/draft-07/schema# title: Environment description: >- Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 schemaVersion: environments.meshery.io/v1beta1 name: Production Environment description: Connections and credentials for the production cluster. organization_id: 00000000-0000-0000-0000-000000000000 owner: 00000000-0000-0000-0000-000000000000 created_at: '0001-01-01T00:00:00Z' metadata: {} updated_at: '0001-01-01T00:00:00Z' deleted_at: null required: - id - schemaVersion - name - description - organization_id properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 x-go-name: ID x-oapi-codegen-extra-tags: db: id yaml: id schemaVersion: description: >- Specifies the version of the schema to which the environment conforms. x-order: 2 x-oapi-codegen-extra-tags: yaml: schemaVersion db: '-' gorm: '-' default: environments.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 name: x-oapi-codegen-extra-tags: db: name yaml: name x-order: 3 type: string maxLength: 100 description: Environment name description: x-oapi-codegen-extra-tags: db: description yaml: description x-order: 4 type: string maxLength: 1000 description: Environment description organization_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id x-order: 5 owner: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: owner yaml: owner x-order: 6 created_at: x-order: 7 description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true metadata: description: Additional metadata associated with the environment. x-oapi-codegen-extra-tags: db: metadata yaml: metadata x-order: 8 x-go-type: core.Map x-go-type-skip-optional-pointer: true type: object updated_at: x-order: 9 description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true deleted_at: description: >- Timestamp when the environment was soft deleted. Null while the environment remains active. nullable: true x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type: core.NullTime x-go-import: database/sql x-order: 10 x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: '-' yaml: environments gorm: '-' x-go-type-skip-optional-pointer: true x-order: 13 schemaVersion: description: Specifies the version of the schema used for the definition. x-order: 14 x-oapi-codegen-extra-tags: yaml: schemaVersion db: '-' gorm: '-' default: connections.meshery.io/v1beta1 type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 registrantId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 categoryId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 category: x-order: 9 x-oapi-codegen-extra-tags: yaml: category json: category gorm: foreignKey:CategoryId;references:ID x-go-type: categoryv1beta1.CategoryDefinition x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/category name: categoryv1beta1 $id: https://schemas.meshery.io/category.yaml $schema: http://json-schema.org/draft-07/schema# type: object additionalProperties: false description: Category of the model. required: - id - name - metadata properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-order: 1 name: type: string minLength: 1 maxLength: 100 x-oapi-codegen-extra-tags: yaml: name json: name gorm: name default: Uncategorized description: The category of the model that determines the main grouping. enum: - Analytics - App Definition and Development - Cloud Native Network - Cloud Native Storage - Database - Machine Learning - Observability and Analysis - Orchestration & Management - Platform - Provisioning - Runtime - Security & Compliance - Serverless - Tools - Uncategorized x-order: 2 metadata: description: Additional metadata associated with the category. type: object x-oapi-codegen-extra-tags: yaml: metadata,omitempty json: metadata,omitempty gorm: type:bytes;serializer:json x-order: 3 subCategory: x-order: 10 x-go-type: subcategoryv1beta1.SubCategoryDefinition x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/subcategory name: subcategoryv1beta1 $id: https://schemas.meshery.io/category.yaml $schema: http://json-schema.org/draft-07/schema# type: string title: SubCategory description: Sub category of the model determines the secondary grouping. default: Uncategorized enum: - API Gateway - API Integration - Application Definition & Image Build - Automation & Configuration - Certified Kubernetes - Distribution - Chaos Engineering - Cloud Native Storage - Cloud Provider - CNI - Compute - Container Registry - Container Runtime - Container Security - Container - Content Delivery Network - Continuous Integration & Delivery - Coordination & Service Discovery - Database - Flowchart - Framework - Installable Platform - Key Management - Key Management Service - Kubernetes - Logging - Machine Learning - Management Governance - Metrics - Monitoring - Networking Content Delivery - Operating System - Query - Remote Procedure Call - Scheduling & Orchestration - Secrets Management - Security Identity & Compliance - Service Mesh - Service Proxy - Source Version Control - Storage - Specifications - Streaming & Messaging - Tools - Tracing - Uncategorized - Video Conferencing minLength: 1 maxLength: 100 x-oapi-codegen-extra-tags: yaml: subCategory json: subCategory metadata: type: object description: Metadata containing additional information associated with the model. required: - svgWhite - svgColor properties: capabilities: type: array description: Capabilities associated with the model items: x-go-type: capabilityv1alpha1.Capability x-go-type-import: path: github.com/meshery/schemas/models/v1alpha1/capability name: capabilityv1alpha1 $id: https://schemas.meshery.io/capability.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. additionalProperties: false type: object required: - description - schemaVersion - version - displayName - kind - type - subType - entityState - key - status x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json properties: schemaVersion: description: >- Specifies the version of the schema to which the capability definition conforms. type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the capability definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: description: Name of the capability in human-readible format. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: type: string description: >- A written representation of the purpose and characteristics of the capability. maxLength: 5000 kind: description: Top-level categorization of the capability additionalProperties: false anyOf: - const: action description: >- For capabilities related to executing actions on entities. Example: initiate log streaming on a Pod. Example: initiate deployment of a component. - const: mutate description: >- For capabilities related to mutating an entity. Example: the ability to change the configuration of a component. - const: view description: >- For capabilities related to viewing an entity. Example: the ability to view a components configuration. - const: interaction description: >- Catch all for capabilities related to interaction with entities. Example: the ability for a component to be dragged and dropped. Example: supports event bubbling to parent components. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ type: description: >- Classification of capabilities. Used to group capabilities similar in nature. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ subType: description: >- Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ key: description: Key that backs the capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ entityState: description: State of the entity in which the capability is applicable. type: array items: type: string enum: - declaration - instance pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: >- A string starting with an alphanumeric character. Spaces and hyphens allowed. status: type: string description: Status of the capability default: enabled enum: - enabled - disabled metadata: type: object description: >- Metadata contains additional information associated with the capability. Extension point. additionalProperties: true default: - description: Configure the visual styles for the component displayName: Styling entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: '' type: style version: 0.7.0 - description: Change the shape of the component displayName: Change Shape entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: shape type: style version: 0.7.0 - description: Drag and Drop a component into a parent component in graph view displayName: Compound Drag And Drop entityState: - declaration key: '' kind: interaction schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: compoundDnd type: graph version: 0.7.0 - description: Add text to nodes body displayName: Body Text entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: body-text type: style version: 0.7.0 x-order: 1 isAnnotation: type: boolean description: >- Indicates whether the model and its entities should be treated as deployable entities or as logical representations. x-oapi-codegen-extra-tags: yaml: isAnnotation json: isAnnotation x-order: 2 default: false primaryColor: type: string description: Primary color associated with the model. minLength: 1 maxLength: 50 default: '#00b39f' x-oapi-codegen-extra-tags: yaml: primaryColor json: primaryColor x-order: 3 secondaryColor: type: string description: Secondary color associated with the model. minLength: 1 maxLength: 50 default: '#00D3A9' x-oapi-codegen-extra-tags: yaml: secondaryColor json: secondaryColor x-order: 4 svgWhite: type: string description: SVG representation of the model in white color. minLength: 1 x-oapi-codegen-extra-tags: yaml: svgWhite json: svgWhite x-order: 5 default: >- svgColor: type: string description: SVG representation of the model in colored format. minLength: 1 x-oapi-codegen-extra-tags: yaml: svgColor json: svgColor x-order: 6 default: >- meshery-logo-light svgComplete: type: string description: SVG representation of the complete model. minLength: 1 x-oapi-codegen-extra-tags: yaml: svgComplete json: svgComplete x-order: 7 shape: x-order: 8 type: string description: >- The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes) enum: - ellipse - triangle - round-triangle - rectangle - round-rectangle - bottom-round-rectangle - cut-rectangle - barrel - rhomboid - diamond - round-diamond - pentagon - round-pentagon - hexagon - round-hexagon - concave-hexagon - heptagon - round-heptagon - octagon - round-octagon - star - tag - round-tag - vee - polygon x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json json: metadata yaml: metadata x-order: 11 additionalProperties: true model: x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json x-order: 12 type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ relationships: type: array x-go-type: interface{} x-oapi-codegen-extra-tags: gorm: '-' json: relationships yaml: relationships description: The relationships of the model. components: type: array x-go-type: interface{} x-oapi-codegen-extra-tags: gorm: '-' json: components yaml: components description: The components of the model. componentsCount: type: integer description: Number of components associated with the model. x-order: 13 x-oapi-codegen-extra-tags: json: components_count yaml: components_count gorm: '-' default: 0 minimum: 0 relationshipsCount: type: integer description: Number of relationships associated with the model. x-order: 13 x-oapi-codegen-extra-tags: gorm: '-' json: relationships_count yaml: relationships_count default: 0 minimum: 0 created_at: x-order: 14 description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true updated_at: x-order: 15 description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true required: - id - schemaVersion - displayName - status - subCategory - model - name - description - version - registrant - category - categoryId - registrantId - relationshipsCount - componentsCount - components - relationships modelReference: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 x-order: 8 description: >- Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: gorm: '-' type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 modelId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: gorm: index:idx_component_definition_dbs_model_id,column:model_id yaml: '-' json: '-' styles: x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: styles json: styles x-go-type: core.ComponentStyles x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-order: 8 type: object description: Visualization styles for a component required: - shape - primaryColor - svgColor - svgWhite - svgComplete allOf: - type: object description: Common styles for all entities additionalProperties: true required: - primaryColor - svgColor - svgWhite - svgComplete properties: primaryColor: type: string description: Primary color of the component used for UI representation. secondaryColor: type: string description: Secondary color of the entity used for UI representation. svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. svgColor: type: string description: >- Colored SVG of the entity used for UI representation on light background. svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. text-opacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 font-family: type: string description: A comma-separated list of font names to use on the label text. font-size: type: string description: The size of the label text. font-style: type: string description: A CSS font style to be applied to the label text. font-weight: type: string description: A CSS font weight to be applied to the label text. text-transform: type: string description: A transformation to apply to the label text enum: - none - uppercase - lowercase opacity: type: number description: >- The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. minimum: 0 maximum: 1 z-index: type: integer description: >- An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. label: type: string description: >- The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id animation: type: object description: The animation to apply to the element. example ripple,bounce,etc - type: object properties: shape: type: string description: >- The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes) enum: - ellipse - triangle - round-triangle - rectangle - round-rectangle - bottom-round-rectangle - cut-rectangle - barrel - rhomboid - diamond - round-diamond - pentagon - round-pentagon - hexagon - round-hexagon - concave-hexagon - heptagon - round-heptagon - octagon - round-octagon - star - tag - round-tag - vee - polygon position: type: object additionalProperties: false required: - x - 'y' description: >- The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. properties: x: type: number description: The x-coordinate of the node. x-go-type: float64 'y': type: number description: The y-coordinate of the node. x-go-type: float64 body-text: type: string description: >- The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id body-text-wrap: type: string description: >- How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. body-text-max-width: type: string description: The maximum width for wrapping text in the node. body-text-opacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 body-text-background-color: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. body-text-font-size: type: number description: The size of the node's body text. body-text-color: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. body-text-font-weight: type: string description: A CSS font weight to be applied to the node's body text. body-text-horizontal-align: type: string description: A CSS horizontal alignment to be applied to the node's body text. body-text-decoration: type: string description: A CSS text decoration to be applied to the node's body text. body-text-vertical-align: type: string description: A CSS vertical alignment to be applied to the node's body text. width: type: number description: The width of the node's body or the width of an edge's line. height: type: number description: The height of the node's body background-image: type: string description: The URL that points to the image to show in the node. background-color: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. background-blacken: type: number description: >- Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. maximum: 1 minimum: -1 background-opacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 background-position-x: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-position-y: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-offset-x: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-offset-y: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) background-fit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. background-clip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. background-width-relative-to: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. background-height-relative-to: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. border-width: type: number description: The size of the node's border. minimum: 0 border-style: type: string description: The style of the node's border enum: - solid - dotted - dashed - double border-color: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. border-opacity: type: number description: The opacity of the node's border minimum: 0 maximum: 1 padding: type: number description: The amount of padding around all sides of the node. minimum: 0 text-halign: type: string description: The horizontal alignment of a node's label enum: - left - center - right text-valign: type: string description: The vertical alignment of a node's label enum: - top - center - bottom ghost: type: string description: >- Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset. default: 'no' enum: - 'yes' - 'no' active-bg-color: type: string description: >- The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. active-bg-opacity: type: string description: >- The opacity of the active background indicator. Selector needs to be *core*. active-bg-size: type: string description: >- The opacity of the active background indicator. Selector needs to be *core*. selection-box-color: type: string description: >- The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. selection-box-border-width: type: number description: >- The size of the border on the selection box. Selector needs to be *core* selection-box-opacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outside-texture-bg-color: type: string description: >- The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. outside-texture-bg-opacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shape-polygon-points: type: string description: >- An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) menu-background-color: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. menu-background-opacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menu-forground-color: type: string description: >- The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. capabilities: x-order: 9 type: array description: >- Meshery manages components in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. ComponentDefinitions may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. items: x-go-type: capabilityv1beta1.Capability x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/capability name: capabilityv1beta1 $id: https://schemas.meshery.io/capability.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. additionalProperties: false type: object required: - description - schemaVersion - version - displayName - kind - type - subType - entityState - key - status x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json properties: schemaVersion: description: >- Specifies the version of the schema to which the capability definition conforms. type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the capability definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: description: Name of the capability in human-readible format. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: type: string description: >- A written representation of the purpose and characteristics of the capability. maxLength: 5000 kind: description: Top-level categorization of the capability additionalProperties: false anyOf: - const: action description: >- For capabilities related to executing actions on entities. Example: initiate log streaming on a Pod. Example: initiate deployment of a component. - const: mutate description: >- For capabilities related to mutating an entity. Example: the ability to change the configuration of a component. - const: view description: >- For capabilities related to viewing an entity. Example: the ability to view a components configuration. - const: interaction description: >- Catch all for capabilities related to interaction with entities. Example: the ability for a component to be dragged and dropped. Example: supports event bubbling to parent components. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ type: description: >- Classification of capabilities. Used to group capabilities similar in nature. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ subType: description: >- Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ key: description: Key that backs the capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ entityState: description: State of the entity in which the capability is applicable. type: array items: type: string enum: - declaration - instance pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: >- A string starting with an alphanumeric character. Spaces and hyphens allowed. status: type: string description: Status of the capability default: enabled enum: - enabled - disabled metadata: type: object description: >- Metadata contains additional information associated with the capability. Extension point. additionalProperties: true default: - description: Configure the visual styles for the component displayName: Styling entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: '' type: style version: 0.7.0 - description: Change the shape of the component displayName: Change Shape entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: shape type: style version: 0.7.0 - description: Drag and Drop a component into a parent component in graph view displayName: Compound Drag And Drop entityState: - declaration key: '' kind: interaction schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: compoundDnd type: graph version: 0.7.0 - description: Add text to nodes body displayName: Body Text entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: body-text type: style version: 0.7.0 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: capabilities json: capabilities default: - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Performance Test description: >- Initiate a performance test. Meshery will execute the load generation, collect metrics, and present the results. kind: action type: operator subType: perf-test key: '' entityState: - instance status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Workload Configuration description: Configure the workload specific setting of a component kind: mutate type: configuration subType: config key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Labels and Annotations Configuration description: 'Configure Labels And Annotations for the component ' kind: mutate type: configuration subType: labels-and-annotations key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Relationships description: View relationships for the component kind: view type: configuration subType: relationship key: '' entityState: - declaration - instance status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Json Schema description: 'View Component Definition ' kind: view type: configuration subType: definition key: '' entityState: - declaration - instance status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Styling description: Configure the visual styles for the component kind: mutate type: style subType: '' key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Change Shape description: Change the shape of the component kind: mutate type: style subType: shape key: '' entityState: - declaration status: enabled metadata: null - schemaVersion: capability.meshery.io/v1beta1 version: 0.7.0 displayName: Compound Drag And Drop description: Drag and Drop a component into a parent component in graph view kind: interaction type: graph subType: compoundDnd key: '' entityState: - declaration status: enabled metadata: null status: x-order: 10 type: string description: >- Status of component, including: - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status. - maintenance: model is unavailable for a period of time. - enabled: model is available for use for all users of this Meshery Server. - ignored: model is unavailable for use for all users of this Meshery Server. default: enabled enum: - ignored - enabled - duplicate - resolved - open x-oapi-codegen-extra-tags: yaml: status json: status metadata: x-order: 11 type: object description: Metadata contains additional information associated with the component. required: - genealogy - isAnnotation - isNamespaced - published - instanceDetails - configurationUISchema properties: genealogy: x-order: 1 type: string description: Genealogy represents the various representational states of the component. isAnnotation: x-order: 2 type: boolean description: >- Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation. default: false isNamespaced: x-order: 3 type: boolean description: Identifies whether the component is scoped to namespace or clsuter wide. published: x-order: 4 type: boolean description: >- 'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered. instanceDetails: x-order: 5 type: object description: InstanceDetails contains information about the instance of the component. configurationUISchema: x-order: 6 type: string description: >- Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ . x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json additionalProperties: true configuration: x-order: 12 description: >- The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema). type: object $comment: >- The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema). x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json component: x-order: 13 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json x-go-type: Component description: >- data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 kind: type: string description: >- The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'. x-order: 2 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 required: - version - kind - schema created_at: x-order: 14 description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true updated_at: x-order: 15 description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true required: - id - displayName - description - schemaVersion - format - version - configuration - metadata - model - modelReference - component preferences: x-go-type: DesignPreferences type: object description: Design-level preferences x-order: 7 properties: layers: type: object description: Map of available layers, where keys are layer names. required: - layers relationships: description: List of relationships between components type: array x-order: 8 x-go-type: '[]*relationship.RelationshipDefinition' x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/relationship name: relationship items: allOf: - description: >- Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships. type: object required: - schemaVersion - version - model - kind - type - subType - id properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true x-order: 1 x-oapi-codegen-extra-tags: yaml: id json: id schemaVersion: description: Specifies the version of the schema used for the relationship definition. x-order: 8 x-oapi-codegen-extra-tags: yaml: schemaVersion json: schemaVersion type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Specifies the version of the relationship definition. x-order: 13 x-oapi-codegen-extra-tags: yaml: version json: version type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ kind: description: >- Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships. type: string enum: - hierarchical - edge - sibling x-order: 4 x-oapi-codegen-extra-tags: yaml: kind json: kind type: description: >- Classification of relationships. Used to group relationships similar in nature. type: string x-go-name: RelationshipType x-go-type-skip-optional-pointer: true x-order: 12 x-oapi-codegen-extra-tags: yaml: type json: type gorm: column:type subType: description: >- Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship. type: string x-go-type-skip-optional-pointer: true x-order: 10 x-oapi-codegen-extra-tags: yaml: subType json: subType status: type: string description: Status of the relationship. enum: - enabled - ignored - deleted - approved - pending x-order: 11 x-oapi-codegen-extra-tags: yaml: status json: status capabilities: type: array description: Capabilities associated with the relationship. x-order: 2 items: x-go-type: capabilityv1alpha1.Capability x-go-type-import: path: github.com/meshery/schemas/models/v1alpha1/capability name: capabilityv1alpha1 $id: https://schemas.meshery.io/capability.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management. additionalProperties: false type: object required: - description - schemaVersion - version - displayName - kind - type - subType - entityState - key - status x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json properties: schemaVersion: description: >- Specifies the version of the schema to which the capability definition conforms. type: string minLength: 2 maxLength: 100 pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$ example: - v1 - v1alpha1 - v2beta3 - v1.custom-suffix - models.meshery.io/v1beta1 - capability.meshery.io/v1alpha1 version: description: Version of the capability definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: description: Name of the capability in human-readible format. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: type: string description: >- A written representation of the purpose and characteristics of the capability. maxLength: 5000 kind: description: Top-level categorization of the capability additionalProperties: false anyOf: - const: action description: >- For capabilities related to executing actions on entities. Example: initiate log streaming on a Pod. Example: initiate deployment of a component. - const: mutate description: >- For capabilities related to mutating an entity. Example: the ability to change the configuration of a component. - const: view description: >- For capabilities related to viewing an entity. Example: the ability to view a components configuration. - const: interaction description: >- Catch all for capabilities related to interaction with entities. Example: the ability for a component to be dragged and dropped. Example: supports event bubbling to parent components. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ type: description: >- Classification of capabilities. Used to group capabilities similar in nature. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ subType: description: >- Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ key: description: Key that backs the capability. type: string pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ entityState: description: State of the entity in which the capability is applicable. type: array items: type: string enum: - declaration - instance pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$ description: >- A string starting with an alphanumeric character. Spaces and hyphens allowed. status: type: string description: Status of the capability default: enabled enum: - enabled - disabled metadata: type: object description: >- Metadata contains additional information associated with the capability. Extension point. additionalProperties: true default: - description: Configure the visual styles for the component displayName: Styling entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: '' type: style version: 0.7.0 - description: Change the shape of the component displayName: Change Shape entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: shape type: style version: 0.7.0 - description: Drag and Drop a component into a parent component in graph view displayName: Compound Drag And Drop entityState: - declaration key: '' kind: interaction schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: compoundDnd type: graph version: 0.7.0 - description: Add text to nodes body displayName: Body Text entityState: - declaration key: '' kind: mutate schemaVersion: capability.meshery.io/v1beta1 status: enabled subType: body-text type: style version: 0.7.0 x-oapi-codegen-extra-tags: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: Relationship_Metadata x-order: 5 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true properties: description: description: >- Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management. type: string x-oapi-codegen-extra-tags: yaml: description json: description styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: yaml: styles json: styles type: object description: Visualization styles for a relationship required: - primaryColor - svgColor - svgWhite properties: primaryColor: type: string description: Primary color of the component used for UI representation. x-oapi-codegen-extra-tags: yaml: primaryColor json: primaryColor secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: yaml: secondaryColor,omitempty json: secondaryColor,omitempty svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: yaml: svgWhite json: svgWhite svgColor: type: string description: >- Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: yaml: svgColor json: svgColor svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: yaml: svgComplete,omitempty json: svgComplete,omitempty color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. x-oapi-codegen-extra-tags: yaml: color,omitempty json: color,omitempty text-opacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: yaml: text-opacity,omitempty json: text-opacity,omitempty font-family: type: string description: A comma-separated list of font names to use on the label text. x-go-name: FontFamily x-oapi-codegen-extra-tags: yaml: font-family,omitempty json: font-family,omitempty font-size: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: yaml: font-size,omitempty json: font-size,omitempty font-style: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: yaml: font-style,omitempty json: font-style,omitempty font-weight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: yaml: font-weight,omitempty json: font-weight,omitempty text-transform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: yaml: text-transform,omitempty json: text-transform,omitempty type: string enum: - none - uppercase - lowercase opacity: type: number format: float description: >- The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility x-go-name: Opacity x-oapi-codegen-extra-tags: yaml: opacity,omitempty json: opacity,omitempty z-index: type: integer description: >- An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. x-go-name: ZIndex x-oapi-codegen-extra-tags: yaml: z-index,omitempty json: z-index,omitempty label: type: string description: >- The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id x-go-name: Label x-oapi-codegen-extra-tags: yaml: label,omitempty json: label,omitempty edge-animation: type: string description: >- The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc . x-go-name: EdgeAnimation x-oapi-codegen-extra-tags: yaml: edge-animation,omitempty json: edge-animation,omitempty curve-style: x-go-name: CurveStyle x-oapi-codegen-extra-tags: yaml: curve-style,omitempty json: curve-style,omitempty type: string description: >- The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges. enum: - haystack - straight - bezier - unbundled-bezier - segments - taxi line-color: type: string description: >- The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g. x-go-name: LineColor x-oapi-codegen-extra-tags: yaml: line-color,omitempty json: line-color,omitempty line-style: x-go-name: LineStyle x-oapi-codegen-extra-tags: yaml: line-style,omitempty json: line-style,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed line-cap: x-go-name: LineCap x-oapi-codegen-extra-tags: yaml: line-cap,omitempty json: line-cap,omitempty type: string description: >- The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge. enum: - butt - round - square line-opacity: type: number format: float description: >- The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents. x-go-name: LineOpacity x-oapi-codegen-extra-tags: yaml: line-opacity,omitempty json: line-opacity,omitempty target-arrow-color: type: string description: >- The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. x-go-name: TargetArrowColor x-oapi-codegen-extra-tags: yaml: target-arrow-color,omitempty json: target-arrow-color,omitempty target-arrow-shape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: yaml: target-arrow-shape,omitempty json: target-arrow-shape,omitempty type: string description: The shape of the edge's source arrow enum: - triangle - triangle-tee - circle-triangle - triangle-cross - triangle-backcurve - vee - tee - square - circle - diamond - chevron - none target-arrow-fill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: yaml: target-arrow-fill,omitempty json: target-arrow-fill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow mid-target-arrow-color: type: string description: >- The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g. x-go-name: MidTargetArrowColor x-oapi-codegen-extra-tags: yaml: mid-target-arrow-color,omitempty json: mid-target-arrow-color,omitempty mid-target-arrow-shape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: yaml: mid-target-arrow-shape,omitempty json: mid-target-arrow-shape,omitempty type: string description: The shape of the edge's source arrow enum: - triangle - triangle-tee - circle-triangle - triangle-cross - triangle-backcurve - vee - tee - square - circle - diamond - chevron - none mid-target-arrow-fill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: yaml: mid-target-arrow-fill,omitempty json: mid-target-arrow-fill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrow-scale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: yaml: arrow-scale,omitempty json: arrow-scale,omitempty source-label: type: string description: >- The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id x-go-name: SourceLabel x-oapi-codegen-extra-tags: yaml: source-label,omitempty json: source-label,omitempty target-label: type: string description: >- The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id x-go-name: TargetLabel x-oapi-codegen-extra-tags: yaml: target-label,omitempty json: target-label,omitempty isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: yaml: isAnnotation json: isAnnotation model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 x-go-type-skip-optional-pointer: true x-order: 6 description: >- Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model gorm: type:bytes;serializer:json type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 modelId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true x-go-name: ModelId x-order: 7 x-oapi-codegen-extra-tags: json: '-' gorm: index:idx_relationship_definition_dbs_model_id,column:model_id evaluationQuery: description: >- Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs. type: string x-order: 3 x-oapi-codegen-extra-tags: yaml: evaluationQuery json: evaluationQuery selectors: x-go-type: SelectorSet x-order: 9 x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json yaml: selectors,omitempty json: selectors,omitempty type: array description: >- Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved. items: x-go-type: SelectorSetItem type: object description: >- Optional selectors used to match Components. Absence of a selector means that it is applied to all Components. required: - allow properties: allow: description: Selectors used to define relationships which are allowed. x-go-type: Selector x-oapi-codegen-extra-tags: yaml: allow json: allow type: object required: - from - to properties: from: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: >- JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: >- JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: >- The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from json: from to: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: >- JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: >- JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: >- The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to json: to deny: description: >- Optional selectors used to define relationships which should not be created / is restricted. x-go-type: Selector x-oapi-codegen-extra-tags: yaml: deny,omitempty json: deny,omitempty type: object required: - from - to properties: from: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: >- JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: >- JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: >- The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from json: from to: description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. type: array items: x-go-type: SelectorItem type: object description: >- Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: yaml: match,omitempty json: match,omitempty type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: refs,omitempty json: refs,omitempty from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: >- JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: from,omitempty json: from,omitempty to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: yaml: id json: id kind: type: string x-oapi-codegen-extra-tags: yaml: kind json: kind mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: >- JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to,omitempty json: to,omitempty match_strategy_matrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: yaml: match_strategy_matrix json: match_strategy_matrix model: x-go-type: modelv1beta1.ModelReference x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/model name: modelv1beta1 description: >- Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models x-oapi-codegen-extra-tags: yaml: model json: model,omitempty type: object required: - id - name - version - displayName - model - registrant properties: id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid name: type: string description: >- The unique name for the model within the scope of a registrant. pattern: ^[a-z0-9-]+$ examples: - cert-manager version: description: Version of the model definition. type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ displayName: type: string description: Human-readable name for the model. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9 ]+$ examples: - Cert Manager model: type: object description: >- Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). required: - version properties: version: description: Version of the model as defined by the registrant. x-oapi-codegen-extra-tags: json: version x-order: 1 type: string minLength: 5 maxLength: 100 pattern: >- ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ registrant: x-go-type: RegistrantReference x-oapi-codegen-extra-tags: json: registrant type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 patch: x-go-type: RelationshipDefinition_Selectors_Patch x-oapi-codegen-extra-tags: yaml: patch json: patch type: object description: Patch configuration for the selector properties: patchStrategy: x-oapi-codegen-extra-tags: yaml: patchStrategy,omitempty json: patchStrategy,omitempty type: string description: > patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902). add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic: specific to Kubernetes and understands the structure of Kubernetes objects. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value. enum: - merge - strategic - add - remove - copy - move - test mutatorRef: x-oapi-codegen-extra-tags: yaml: mutatorRef,omitempty json: mutatorRef,omitempty type: array description: JSON ref to value from where patch should be applied. items: type: array items: type: string description: >- The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]. mutatedRef: x-oapi-codegen-extra-tags: yaml: mutatedRef,omitempty json: mutatedRef,omitempty type: array items: type: array items: type: string description: >- JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. x-oapi-codegen-extra-tags: yaml: to json: to required: - id - name - schemaVersion - version - components - relationships updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-type-skip-optional-pointer: true visibility: type: string x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/workspaces/{workspaceId}/designs/{designId}: post: x-internal: - cloud - meshery tags: - Workspace_workspaces - Workspace_designs operationId: assignDesignToWorkspace summary: Assign a design to a workspace description: Assigns a design to a workspace. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: designId in: path description: Design ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: design_id json: design_id x-go-type-name: DesignId x-go-type-skip-optional-pointer: true required: true responses: '200': description: Workspace design mappings content: application/json: schema: type: object description: Paginated list of workspace-design mappings. properties: page: type: integer x-go-type-skip-optional-pointer: true description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer x-go-type-skip-optional-pointer: true description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer x-go-type-skip-optional-pointer: true description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty workspacesDesignsMapping: type: array description: Workspace-design mapping entries. x-go-type-skip-optional-pointer: true items: x-go-type: WorkspacesDesignsMapping type: object description: Junction record linking a workspace to a design. additionalProperties: false required: - id - workspaceId - designId properties: id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true workspaceId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: WorkspaceID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: workspace_id json: workspaceId designId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: DesignID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: design_id json: designId createdAt: description: Timestamp when the mapping was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at json: createdAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the mapping was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at json: updatedAt,omitempty x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the mapping was soft-deleted. x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at json: deletedAt,omitempty x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Workspace_workspaces - Workspace_designs operationId: unassignDesignFromWorkspace summary: Unassign a design from a workspace description: Removes a design from a workspace. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: designId in: path description: Design ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: design_id json: design_id x-go-type-name: DesignId x-go-type-skip-optional-pointer: true required: true responses: '204': description: Workspace design mapping removed '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/workspaces/{workspaceId}/views: get: x-internal: - cloud - meshery tags: - Workspace_workspaces - Workspace_views operationId: getViewsOfWorkspace summary: Get views assigned to a workspace description: Gets views assigned to or available for a workspace depending on the filter. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: search in: query description: Get responses that match search param value schema: type: string - name: order in: query description: Get ordered responses schema: type: string - name: page in: query description: Get responses by page schema: type: string - name: pagesize in: query description: Get responses by pagesize schema: type: string - name: filter in: query description: JSON-encoded filter string used for assignment and soft-delete filters. schema: type: string maxLength: 4096 responses: '200': description: Views content: application/json: schema: type: object description: Paginated list of views with location enrichment. properties: page: type: integer x-go-type-skip-optional-pointer: true page_size: type: integer x-go-type-skip-optional-pointer: true total_count: type: integer x-go-type-skip-optional-pointer: true views: type: array x-go-type-skip-optional-pointer: true items: x-go-type: MesheryViewWithLocation type: object description: A view enriched with the workspace and organization it belongs to. required: - workspace_id - organization_id properties: id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true name: type: string description: Display name of the view. maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: name json: name,omitempty visibility: type: string description: Visibility level of the view. maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: visibility json: visibility,omitempty filters: type: object description: Filter configuration for this view. x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: filters json: filters,omitempty metadata: type: object description: Metadata associated with the view. x-go-type: core.Map x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata,omitempty user_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: UserID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: user_id json: user_id,omitempty workspace_name: type: string description: Name of the workspace this view belongs to. maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: workspace_name json: workspace_name,omitempty workspace_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: WorkspaceID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id organization_id: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: OrganizationID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: organization_id json: organization_id organization_name: type: string description: Name of the organization this view belongs to. maxLength: 255 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: organization_name json: organization_name,omitempty created_at: description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true deleted_at: description: Timestamp when the view was soft deleted. Null while the view remains active. x-go-type: meshcore.NullTime x-go-type-import: name: meshcore path: github.com/meshery/schemas/models/core type: string format: date-time x-go-type-skip-optional-pointer: true description: Views in this page, enriched with workspace and organization context. '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string /api/workspaces/{workspaceId}/views/{viewId}: post: x-internal: - cloud - meshery tags: - Workspace_workspaces - Workspace_views operationId: assignViewToWorkspace summary: Assign a view to a workspace description: Assigns a view to a workspace. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: viewId in: path description: View ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: view_id json: view_id x-go-type-name: ViewId x-go-type-skip-optional-pointer: true required: true responses: '200': description: Workspace view mappings content: application/json: schema: type: object description: Paginated list of workspace-view mappings. properties: page: type: integer x-go-type-skip-optional-pointer: true description: Zero-based page index returned in this response. minimum: 0 pageSize: type: integer x-go-type-skip-optional-pointer: true description: Maximum number of items returned on each page. minimum: 1 x-oapi-codegen-extra-tags: json: pageSize,omitempty totalCount: type: integer x-go-type-skip-optional-pointer: true description: Total number of items across all pages. minimum: 0 x-oapi-codegen-extra-tags: json: totalCount,omitempty workspacesViewsMapping: type: array description: Workspace-view mapping entries. x-go-type-skip-optional-pointer: true items: x-go-type: WorkspacesViewsMapping type: object description: Junction record linking a workspace to a view. additionalProperties: false required: - id - workspaceId - viewId properties: id: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: id json: id x-go-type-name: GeneralId x-go-type-skip-optional-pointer: true workspaceId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: WorkspaceID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: workspace_id json: workspaceId viewId: type: string format: uuid description: >- A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas. x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-go-name: ViewID x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: view_id json: viewId createdAt: description: Timestamp when the resource was created. x-go-type: time.Time type: string format: date-time x-go-name: CreatedAt x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-go-type-skip-optional-pointer: true updatedAt: description: Timestamp when the resource was updated. x-go-type: time.Time type: string format: date-time x-go-name: UpdatedAt x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-go-type-skip-optional-pointer: true deletedAt: description: Timestamp when the mapping was soft-deleted. x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at json: deletedAt,omitempty x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-go-type-skip-optional-pointer: true '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string delete: x-internal: - cloud - meshery tags: - Workspace_workspaces - Workspace_views operationId: unassignViewFromWorkspace summary: Unassign a view from a workspace description: Removes a view from a workspace. parameters: - name: workspaceId in: path description: Workspace ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true required: true - name: viewId in: path description: View ID schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid x-oapi-codegen-extra-tags: db: view_id json: view_id x-go-type-name: ViewId x-go-type-skip-optional-pointer: true required: true responses: '204': description: Workspace view mapping removed '400': description: Invalid request body or request param content: text/plain: schema: type: string '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Result not found content: text/plain: schema: type: string '500': description: Internal server error content: text/plain: schema: type: string components: securitySchemes: Organization_jwt: type: http scheme: bearer bearerFormat: JWT