openapi: 3.0.0 info: title: Meshery Cloud description: Documentation for Meshery Cloud REST APIs. version: v0.8.0 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://cloud.meshery.io description: Meshery Cloud production server URL - url: https://staging-cloud.meshery.io description: Meshery Cloud staging server URL - url: http://localhost:9876 description: Meshery Cloud development server URL (controlled via PORT environment variable) tags: - name: Badge_Badge - name: credential_credentials description: Operations related to integration credentials - name: Environment_environments description: APIs for environments - name: Evaluation_Evaluation description: Operations related to design evaluation - name: Feature_Features description: Operations related to features and entitlements - 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: View_views description: APIs for managing Meshery views. - 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. - 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: Events_events description: APIs for Meshery Cloud events. - name: Invitation_Invitation description: Operations related to invitation - 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 paths: /api/organizations/badges/{id}: delete: x-internal: - cloud operationId: deleteBadgeById tags: - Badge_Badge summary: Delete a badge by its ID parameters: - name: id in: path description: Unique identifier 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: Badge 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 get: x-internal: - cloud operationId: getBadgeById tags: - Badge_Badge summary: Get a badge by its ID parameters: - name: id in: path description: Unique identifier 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: '200': content: application/json: schema: type: object required: - id - label - name - org_id - description - image_url - created_at - updated_at - deleted_at properties: id: x-go-name: ID x-oapi-codegen-extra-tags: db: id json: 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 org_id: description: The ID of the organization in which this badge is available . x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid label: type: string description: unique identifier for the badge ( auto generated ) example: Kubernetes-Expert x-oapi-codegen-extra-tags: db: label json: label maxLength: 500 name: type: string description: Concise descriptor for the badge or certificate. example: Kubernetes Expert x-oapi-codegen-extra-tags: db: name json: name minLength: 1 maxLength: 255 description: type: string description: A description of the milestone achieved, often including criteria for receiving this recognition. example: Awarded for mastering Kubernetes concepts and practices. x-oapi-codegen-extra-tags: db: description json: description maxLength: 5000 image_url: type: string format: uri description: URL to the badge image example: >- https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp x-oapi-codegen-extra-tags: db: image_url json: image_url 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: type: string format: date-time x-go-type: core.NullTime description: Timestamp when the resource was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: 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/organizations/badges: post: x-internal: - cloud operationId: createOrUpdateBadge tags: - Badge_Badge summary: Create a new badge or update an existing badge requestBody: content: application/json: schema: type: object description: Payload for creating or updating a badge. required: - label - name - org_id - description - image_url properties: id: x-go-name: ID description: Existing badge ID for updates; omit on create. x-oapi-codegen-extra-tags: db: id json: id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid org_id: description: The ID of the organization in which this badge is available. x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid label: type: string description: unique identifier for the badge ( auto generated ) example: Kubernetes-Expert x-oapi-codegen-extra-tags: db: label json: label maxLength: 500 name: type: string description: Concise descriptor for the badge or certificate. example: Kubernetes Expert x-oapi-codegen-extra-tags: db: name json: name minLength: 1 maxLength: 255 description: type: string description: A description of the milestone achieved, often including criteria for receiving this recognition. example: Awarded for mastering Kubernetes concepts and practices. x-oapi-codegen-extra-tags: db: description json: description maxLength: 5000 image_url: type: string format: uri description: URL to the badge image example: >- https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp x-oapi-codegen-extra-tags: db: image_url json: image_url required: true responses: '201': content: application/json: schema: type: object required: - id - label - name - org_id - description - image_url - created_at - updated_at - deleted_at properties: id: x-go-name: ID x-oapi-codegen-extra-tags: db: id json: 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 org_id: description: The ID of the organization in which this badge is available . x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid label: type: string description: unique identifier for the badge ( auto generated ) example: Kubernetes-Expert x-oapi-codegen-extra-tags: db: label json: label maxLength: 500 name: type: string description: Concise descriptor for the badge or certificate. example: Kubernetes Expert x-oapi-codegen-extra-tags: db: name json: name minLength: 1 maxLength: 255 description: type: string description: A description of the milestone achieved, often including criteria for receiving this recognition. example: Awarded for mastering Kubernetes concepts and practices. x-oapi-codegen-extra-tags: db: description json: description maxLength: 5000 image_url: type: string format: uri description: URL to the badge image example: >- https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp x-oapi-codegen-extra-tags: db: image_url json: image_url 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: type: string format: date-time x-go-type: core.NullTime description: Timestamp when the resource was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: 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 /api/identity/badges: get: x-internal: - cloud operationId: getAvailableBadges tags: - Badge_Badge summary: Get available badges responses: '200': description: Available badges content: application/json: schema: type: object properties: badges: type: object additionalProperties: type: object required: - id - label - name - org_id - description - image_url - created_at - updated_at - deleted_at properties: id: x-go-name: ID x-oapi-codegen-extra-tags: db: id json: 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 org_id: description: The ID of the organization in which this badge is available . x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid label: type: string description: unique identifier for the badge ( auto generated ) example: Kubernetes-Expert x-oapi-codegen-extra-tags: db: label json: label maxLength: 500 name: type: string description: Concise descriptor for the badge or certificate. example: Kubernetes Expert x-oapi-codegen-extra-tags: db: name json: name minLength: 1 maxLength: 255 description: type: string description: >- A description of the milestone achieved, often including criteria for receiving this recognition. example: Awarded for mastering Kubernetes concepts and practices. x-oapi-codegen-extra-tags: db: description json: description maxLength: 5000 image_url: type: string format: uri description: URL to the badge image example: >- https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp x-oapi-codegen-extra-tags: db: image_url json: image_url 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: type: string format: date-time x-go-type: core.NullTime description: Timestamp when the resource was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at description: The badges of the badgespage. '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/badges: put: x-internal: - cloud operationId: assignBadges tags: - Badge_Badge summary: Assign badges to a user requestBody: required: true content: application/json: schema: type: object properties: badges: type: array items: type: string description: The badges of the badgeassignment. user_id: type: string description: ID of the user who owns or created this resource. maxLength: 500 format: uuid notify: type: boolean description: The notify of the badgeassignment. responses: '200': description: Badge assignment result content: application/json: schema: type: object additionalProperties: 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/integrations/credentials: get: x-internal: - cloud 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 description: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - name - type 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 user_id: 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 created_at: x-order: 6 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: 7 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 credential was soft-deleted. x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at 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 x-order: 1 description: The credentials of the credentialpage. 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 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: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - name - type 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 user_id: 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 created_at: x-order: 6 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: 7 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 credential was soft-deleted. x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at 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 responses: '201': description: Credential saved content: application/json: schema: type: object description: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - name - type 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 user_id: 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 created_at: x-order: 6 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: 7 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 credential was soft-deleted. x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at 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 '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 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: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - name - type 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 user_id: 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 created_at: x-order: 6 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: 7 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 credential was soft-deleted. x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at 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 responses: '200': description: Credential updated content: application/json: schema: type: object description: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - name - type 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 user_id: 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 created_at: x-order: 6 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: 7 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 credential was soft-deleted. x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at 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 '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 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/{id}: get: x-internal: - cloud tags: - credential_credentials summary: Get credential by ID operationId: getCredentialById description: Retrieves a specific credential by its ID. parameters: - name: id 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 description: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - name - type 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 user_id: 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 created_at: x-order: 6 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: 7 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 credential was soft-deleted. x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at 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 '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: post: 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: 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 & credentail. 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 organization_id: 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: organization_id maxLength: 500 format: uuid required: - name - organization_id 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/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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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 '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: 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 required: true responses: '200': description: Environments content: application/json: schema: 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 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/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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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 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: 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 required: true responses: '200': description: Environment page content: application/json: schema: 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 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/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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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 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: 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: 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 & credentail. 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 organization_id: 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: organization_id maxLength: 500 format: uuid required: - name - organization_id responses: '200': description: Environment page content: application/json: schema: 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 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/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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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 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: 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: 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 schema: type: string responses: '200': description: Environment connections content: application/json: schema: type: object 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 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 /evaluate: post: 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. 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/entitlement/features: get: x-internal: - cloud operationId: getFeatures tags: - Feature_Features summary: Get all features associated with plans responses: '200': description: Features response content: application/json: schema: type: array items: x-go-type: Feature type: object required: - id - plan_id - quantity - name properties: id: x-oapi-codegen-extra-tags: db: 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 plan_id: x-oapi-codegen-extra-tags: db: plan_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 plan: x-go-type: planv1beta1.Plan x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/plan name: planv1beta1 x-oapi-codegen-extra-tags: belongs_to: plans fk_id: PlanId json: plan,omitempty type: object properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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 x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name description: Name of the plan enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - monthly - yearly unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd required: - id - name - cadence - unit - price_per_unit - minimum_units - currency name: x-go-type: FeatureName x-oapi-codegen-extra-tags: db: name type: string x-enum-casing-exempt: true enum: - ComponentsInDesign - RelationshipsInDesign - DesignsInWorkspace - WorkspacesInOrganization - ImageSizeInDesign - SizePerDesign description: Enumeration of possible feature types quantity: type: number description: Quantity of the feature allowed, use 9999999999 for unlimited x-oapi-codegen-extra-tags: db: quantity minimum: 0 created_at: x-oapi-codegen-extra-tags: db: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at type: string format: date-time x-go-type-skip-optional-pointer: true 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 '500': description: Internal server error content: text/plain: schema: type: string /api/entitlement/subscriptions/organizations/{organizationId}/features: get: x-internal: - cloud operationId: getFeaturesByOrganization tags: - Feature_Features summary: Get all features associated with plans parameters: - name: organizationId in: path description: The ID of the organization required: true schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid responses: '200': description: Features response content: application/json: schema: type: array items: x-go-type: Feature type: object required: - id - plan_id - quantity - name properties: id: x-oapi-codegen-extra-tags: db: 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 plan_id: x-oapi-codegen-extra-tags: db: plan_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 plan: x-go-type: planv1beta1.Plan x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/plan name: planv1beta1 x-oapi-codegen-extra-tags: belongs_to: plans fk_id: PlanId json: plan,omitempty type: object properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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 x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name description: Name of the plan enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - monthly - yearly unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd required: - id - name - cadence - unit - price_per_unit - minimum_units - currency name: x-go-type: FeatureName x-oapi-codegen-extra-tags: db: name type: string x-enum-casing-exempt: true enum: - ComponentsInDesign - RelationshipsInDesign - DesignsInWorkspace - WorkspacesInOrganization - ImageSizeInDesign - SizePerDesign description: Enumeration of possible feature types quantity: type: number description: Quantity of the feature allowed, use 9999999999 for unlimited x-oapi-codegen-extra-tags: db: quantity minimum: 0 created_at: x-oapi-codegen-extra-tags: db: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at type: string format: date-time x-go-type-skip-optional-pointer: true 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/orgs/{orgId}/users/keys: get: 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 required: - page - page_size - total_count - keys properties: page: x-order: 1 type: integer x-go-type-skip-optional-pointer: true page_size: x-order: 2 type: integer x-go-type-skip-optional-pointer: true total_count: x-order: 3 type: integer x-go-type-skip-optional-pointer: true keys: type: array items: type: object additionalProperties: false description: Represents an authorization key used for access control. required: - id - owner - function - category - subcategory - description - created_at - updated_at 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 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 x-order: 2 function: type: string description: Operation permitted by the key. x-oapi-codegen-extra-tags: db: function x-order: 3 maxLength: 500 category: type: string description: Category for the key. x-oapi-codegen-extra-tags: db: category x-order: 4 maxLength: 500 subcategory: type: string description: Subcategory for the key. x-oapi-codegen-extra-tags: db: subcategory x-order: 5 maxLength: 500 description: type: string description: Human readable description of the key. x-oapi-codegen-extra-tags: db: description x-order: 6 maxLength: 5000 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 updated_at: x-order: 8 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 9 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 x-order: 4 description: The keys of the keypage. '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/auth/keys: get: x-internal: - cloud tags: - Key_Key summary: List key operationId: getKeys 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: Keys fetched content: application/json: schema: type: object required: - page - page_size - total_count - keys properties: page: x-order: 1 type: integer x-go-type-skip-optional-pointer: true page_size: x-order: 2 type: integer x-go-type-skip-optional-pointer: true total_count: x-order: 3 type: integer x-go-type-skip-optional-pointer: true keys: type: array items: type: object additionalProperties: false description: Represents an authorization key used for access control. required: - id - owner - function - category - subcategory - description - created_at - updated_at 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 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 x-order: 2 function: type: string description: Operation permitted by the key. x-oapi-codegen-extra-tags: db: function x-order: 3 maxLength: 500 category: type: string description: Category for the key. x-oapi-codegen-extra-tags: db: category x-order: 4 maxLength: 500 subcategory: type: string description: Subcategory for the key. x-oapi-codegen-extra-tags: db: subcategory x-order: 5 maxLength: 500 description: type: string description: Human readable description of the key. x-oapi-codegen-extra-tags: db: description x-order: 6 maxLength: 5000 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 updated_at: x-order: 8 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 9 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 x-order: 4 description: The keys of the keypage. '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 tags: - Key_Key summary: Create or update a key operationId: upsertKey requestBody: required: true content: application/json: schema: type: object description: Payload for creating or updating a key. 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 function: type: string description: Operation permitted by the key. x-order: 2 maxLength: 500 category: type: string description: Category for the key. x-order: 3 maxLength: 500 subcategory: type: string description: Subcategory for the key. x-order: 4 maxLength: 500 description: type: string description: Human readable description of the key. x-order: 5 maxLength: 5000 responses: '200': description: Key upserted content: application/json: schema: type: object additionalProperties: false description: Represents an authorization key used for access control. required: - id - owner - function - category - subcategory - description - created_at - updated_at 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 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 x-order: 2 function: type: string description: Operation permitted by the key. x-oapi-codegen-extra-tags: db: function x-order: 3 maxLength: 500 category: type: string description: Category for the key. x-oapi-codegen-extra-tags: db: category x-order: 4 maxLength: 500 subcategory: type: string description: Subcategory for the key. x-oapi-codegen-extra-tags: db: subcategory x-order: 5 maxLength: 500 description: type: string description: Human readable description of the key. x-oapi-codegen-extra-tags: db: description x-order: 6 maxLength: 5000 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 updated_at: x-order: 8 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 9 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 '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/auth/key/{keyId}: get: x-internal: - cloud tags: - Key_Key summary: Get key by ID operationId: getKeyById parameters: - name: keyId in: path description: Key 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: Key response content: application/json: schema: type: object additionalProperties: false description: Represents an authorization key used for access control. required: - id - owner - function - category - subcategory - description - created_at - updated_at 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 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 x-order: 2 function: type: string description: Operation permitted by the key. x-oapi-codegen-extra-tags: db: function x-order: 3 maxLength: 500 category: type: string description: Category for the key. x-oapi-codegen-extra-tags: db: category x-order: 4 maxLength: 500 subcategory: type: string description: Subcategory for the key. x-oapi-codegen-extra-tags: db: subcategory x-order: 5 maxLength: 500 description: type: string description: Human readable description of the key. x-oapi-codegen-extra-tags: db: description x-order: 6 maxLength: 5000 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 updated_at: x-order: 8 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 9 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 '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 tags: - Key_Key summary: Delete key operationId: deleteKey parameters: - name: keyId in: path description: Key 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: Key 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/auth/keychains: get: x-internal: - cloud tags: - Keychain_Keychain summary: List keychains operationId: getKeychains 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: Keychain(s) fetched content: application/json: schema: type: object required: - page - page_size - total_count - keychains properties: page: x-order: 1 type: integer x-go-type-skip-optional-pointer: true page_size: x-order: 2 type: integer x-go-type-skip-optional-pointer: true total_count: x-order: 3 type: integer x-go-type-skip-optional-pointer: true keychains: type: array items: type: object additionalProperties: false description: Represents a collection of keys. required: - id - name - owner - created_at - updated_at properties: id: description: Unique identifier for the keychain. x-go-name: ID x-oapi-codegen-extra-tags: db: id x-order: 1 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 keychain. minLength: 1 maxLength: 255 x-oapi-codegen-extra-tags: db: name x-order: 2 owner: description: Owner of the keychain. x-oapi-codegen-extra-tags: db: owner x-order: 3 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid created_at: x-order: 4 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: 5 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 6 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 x-order: 4 description: The keychains of the keychainpage. '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 tags: - Keychain_Keychain summary: Create a keychain operationId: createKeychain requestBody: required: true content: application/json: schema: type: object description: Input payload for creating or updating a keychain. required: - name properties: name: type: string description: Name of the keychain. x-order: 1 minLength: 1 maxLength: 255 owner: description: Owner of the keychain. x-order: 2 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid responses: '200': description: Keychain created content: application/json: schema: type: object additionalProperties: false description: Represents a collection of keys. required: - id - name - owner - created_at - updated_at properties: id: description: Unique identifier for the keychain. x-go-name: ID x-oapi-codegen-extra-tags: db: id x-order: 1 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 keychain. minLength: 1 maxLength: 255 x-oapi-codegen-extra-tags: db: name x-order: 2 owner: description: Owner of the keychain. x-oapi-codegen-extra-tags: db: owner x-order: 3 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid created_at: x-order: 4 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: 5 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 6 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 '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/auth/keychains/{keychainId}: get: x-internal: - cloud tags: - Keychain_Keychain summary: Get keychain by ID operationId: getKeychainById parameters: - name: keychainId in: path description: Keychain 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: Keychain fetched content: application/json: schema: type: object additionalProperties: false description: Represents a collection of keys. required: - id - name - owner - created_at - updated_at properties: id: description: Unique identifier for the keychain. x-go-name: ID x-oapi-codegen-extra-tags: db: id x-order: 1 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 keychain. minLength: 1 maxLength: 255 x-oapi-codegen-extra-tags: db: name x-order: 2 owner: description: Owner of the keychain. x-oapi-codegen-extra-tags: db: owner x-order: 3 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid created_at: x-order: 4 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: 5 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 6 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 '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 tags: - Keychain_Keychain summary: Update keychain operationId: updateKeychain parameters: - name: keychainId in: path description: Keychain 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 requestBody: required: true content: application/json: schema: type: object description: Input payload for creating or updating a keychain. required: - name properties: name: type: string description: Name of the keychain. x-order: 1 minLength: 1 maxLength: 255 owner: description: Owner of the keychain. x-order: 2 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid responses: '200': description: Keychain updated content: application/json: schema: type: object additionalProperties: false description: Represents a collection of keys. required: - id - name - owner - created_at - updated_at properties: id: description: Unique identifier for the keychain. x-go-name: ID x-oapi-codegen-extra-tags: db: id x-order: 1 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 keychain. minLength: 1 maxLength: 255 x-oapi-codegen-extra-tags: db: name x-order: 2 owner: description: Owner of the keychain. x-oapi-codegen-extra-tags: db: owner x-order: 3 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid created_at: x-order: 4 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: 5 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 6 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 '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 tags: - Keychain_Keychain summary: Delete keychain operationId: deleteKeychain parameters: - name: keychainId in: path description: Keychain 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: Keychain 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/auth/keychains/{keychainId}/{keyId}: post: x-internal: - cloud tags: - Keychain_Keychain summary: Add key to keychain operationId: addKeyToKeychain parameters: - name: keychainId in: path description: Keychain 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: keyId in: path description: Key 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: Key added to keychain '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 tags: - Keychain_Keychain summary: Remove key from keychain operationId: removeKeyFromKeychain parameters: - name: keychainId in: path description: Keychain 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: keyId in: path description: Key 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: Key removed from keychain '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/auth/keychains/{keychainId}/keys: get: x-internal: - cloud tags: - Keychain_Keychain summary: List keys in a keychain operationId: getKeysOfKeychain parameters: - name: keychainId in: path description: Keychain 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 - 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: Keys response content: application/json: schema: type: object required: - page - page_size - total_count - keys properties: page: x-order: 1 type: integer x-go-type-skip-optional-pointer: true page_size: x-order: 2 type: integer x-go-type-skip-optional-pointer: true total_count: x-order: 3 type: integer x-go-type-skip-optional-pointer: true keys: type: array items: type: object additionalProperties: false description: Represents an authorization key used for access control. required: - id - owner - function - category - subcategory - description - created_at - updated_at 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 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 x-order: 2 function: type: string description: Operation permitted by the key. x-oapi-codegen-extra-tags: db: function x-order: 3 maxLength: 500 category: type: string description: Category for the key. x-oapi-codegen-extra-tags: db: category x-order: 4 maxLength: 500 subcategory: type: string description: Subcategory for the key. x-oapi-codegen-extra-tags: db: subcategory x-order: 5 maxLength: 500 description: type: string description: Human readable description of the key. x-oapi-codegen-extra-tags: db: description x-order: 6 maxLength: 5000 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 updated_at: x-order: 8 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 9 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 x-order: 4 description: The keys of the keypage. '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/meshmodels/register: post: 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 format: file 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: Successful registration 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/integrations/meshmodels/models: get: x-internal: - cloud tags: - Model_Models summary: Get mesh model models operationId: getMeshModelModels parameters: - name: page in: query required: false schema: type: string - name: pagesize in: query required: false schema: type: string - name: search in: query required: false schema: type: string - name: order in: query required: false schema: type: string responses: '200': description: Model and capabilities registry entries retrieved. content: application/json: schema: type: object 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 models: type: array items: type: object additionalProperties: true description: The models of the meshmodelmodelspage. '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Internal server error /api/identity/orgs: get: tags: - Organization_Organizations security: - Organization_jwt: [] summary: Read organizations description: Returns organizations for the current user. operationId: getOrgs 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: all in: query description: Get all possible entries schema: type: boolean responses: '200': description: Organizations response content: application/json: schema: type: object 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 organizations: type: array items: type: object properties: id: x-go-name: 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 x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true owner: type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The organizations of the organizationspage. '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: 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 properties: name: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true notifyOrgUpdate: type: boolean description: The notify org update of the organization. preferences: type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true 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: 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 organizations: type: array maxItems: 1 items: type: object properties: id: x-go-name: 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 x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true owner: type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The organizations of the organizationpage. '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: tags: - Organization_Organizations summary: Get organization by domain operationId: getOrgByDomain parameters: - name: domain in: query required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: type: object required: - id - name - country - region - description - owner - metadata - created_at - updated_at properties: id: x-oapi-codegen-extra-tags: db: 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 x-oapi-codegen-extra-tags: db: name description: Name of the organization. minLength: 1 maxLength: 255 country: type: string x-oapi-codegen-extra-tags: db: country description: The country of the organization. maxLength: 500 region: type: string x-oapi-codegen-extra-tags: db: region description: The region of the organization. maxLength: 500 description: type: string x-oapi-codegen-extra-tags: db: description description: Description of the organization. maxLength: 5000 owner: x-oapi-codegen-extra-tags: db: 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 metadata: x-go-type: OrgMetadata x-oapi-codegen-extra-tags: db: metadata type: object required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: created_at updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: updated_at deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: deleted_at domain: type: string nullable: true x-oapi-codegen-extra-tags: db: domain description: The domain of the organization. maxLength: 500 '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: 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 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: 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 organizations: type: array maxItems: 1 items: type: object properties: id: x-go-name: 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 x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true owner: type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The organizations of the organizationpage. '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: tags: - Organization_Organizations security: - Organization_jwt: [] summary: Delete an organization description: Deletes the organization. operationId: deleteOrg parameters: - name: orgId in: path required: true 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: tags: - Organization_Organizations security: - Organization_jwt: [] summary: Update an organization description: Updates the organization. operationId: handleUpdateOrg parameters: - name: orgId in: path required: true 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 properties: name: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true notifyOrgUpdate: type: boolean description: The notify org update of the organization. preferences: type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true 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: 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 organizations: type: array maxItems: 1 items: type: object properties: id: x-go-name: 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 x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true owner: type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The organizations of the organizationpage. '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: 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 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 required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: 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 /api/identity/orgs/{orgId}/teams/{teamId}: post: 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 deleted_at timestamp. The team's organization mapping remains intact. operationId: addTeamToOrg parameters: - name: orgId in: path required: true 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 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 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 teamsOrganizationsMapping: type: array items: type: object 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 orgId: 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 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The teams organizations mapping of the teamsorganizationsmappingpage. - type: object 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 items: type: object 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 x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true owner: type: string x-go-type-skip-optional-pointer: true metadata: type: object additionalProperties: type: string x-go-type-skip-optional-pointer: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The teams of the teamspage. '400': description: Bad request '401': description: Unauthorized '404': description: Not found '500': description: Internal server error get: 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 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 '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: 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 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 '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: 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: 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 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 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 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 teamsOrganizationsMapping: type: array items: type: object 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 orgId: 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 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The teams organizations mapping of the teamsorganizationsmappingpage. '400': description: Bad request '401': description: Unauthorized '404': description: Not found '500': description: Internal server error /api/identity/orgs/{orgId}/users/{userId}: post: tags: - Organization_Organizations security: - Organization_jwt: [] summary: Add user to organization operationId: addUserToOrg parameters: - name: orgId in: path required: true 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 schema: type: string description: user's email or username 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: tags: - Organization_Organizations security: - Organization_jwt: [] summary: Remove user from organization operationId: deleteUserFromOrg parameters: - name: orgId in: path required: true 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 schema: type: string description: user's email or username 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/roles: post: x-internal: - cloud tags: - role_roles summary: Add role holder operationId: addRoleHolder description: Assigns a role to a user identified by email. requestBody: required: true content: application/json: schema: type: object description: Request body for assigning a role to a user. required: - email - roleNames properties: email: type: string format: email description: Email of the user to assign roles to. x-order: 1 roleNames: type: array items: type: string description: List of role names to assign. x-order: 2 responses: '201': description: Role holder added '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/roles/{id}: delete: x-internal: - cloud tags: - role_roles summary: Delete role operationId: deleteRole description: Removes a role assignment by ID. parameters: - name: id in: path description: Role 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: Role 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}/roles: get: x-internal: - cloud tags: - role_roles summary: Get organization roles operationId: getAllRoles description: Returns all roles defined for the specified organization. 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 - 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 - name: selector in: query description: Role grouping selector such as provider, organization, or team. schema: type: string - name: teamId in: query description: Team ID used when selector is team. 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: Roles response content: application/json: schema: type: object description: A paginated list of roles. required: - page - page_size - total_count - roles properties: page: type: integer description: Current page number (zero-based). x-order: 1 minimum: 0 page_size: type: integer description: Number of roles per page. x-order: 2 minimum: 1 total_count: type: integer description: Total number of roles across all pages. x-order: 3 minimum: 0 roles: type: array items: x-go-type: Role type: object description: Role definition for Layer5 Cloud (Meshery). required: - role_name - description 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: db: id role_name: type: string description: Unique name of the role. x-order: 2 x-oapi-codegen-extra-tags: db: role_name maxLength: 500 description: type: string description: Human-readable description of the role. x-order: 3 x-oapi-codegen-extra-tags: db: description maxLength: 5000 created_at: x-order: 4 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: 5 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 role was soft-deleted. x-order: 6 x-oapi-codegen-extra-tags: db: deleted_at 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 x-order: 4 description: The roles of the rolespage. '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 tags: - role_roles summary: Upsert organization role operationId: upsertRole description: Creates or updates a role for the specified organization. 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 requestBody: required: true content: application/json: schema: type: object description: Role definition for Layer5 Cloud (Meshery). required: - role_name - description 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: db: id role_name: type: string description: Unique name of the role. x-order: 2 x-oapi-codegen-extra-tags: db: role_name maxLength: 500 description: type: string description: Human-readable description of the role. x-order: 3 x-oapi-codegen-extra-tags: db: description maxLength: 5000 created_at: x-order: 4 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: 5 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 role was soft-deleted. x-order: 6 x-oapi-codegen-extra-tags: db: deleted_at 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 responses: '200': description: Role upserted content: application/json: schema: type: object description: Role definition for Layer5 Cloud (Meshery). required: - role_name - description 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: db: id role_name: type: string description: Unique name of the role. x-order: 2 x-oapi-codegen-extra-tags: db: role_name maxLength: 500 description: type: string description: Human-readable description of the role. x-order: 3 x-oapi-codegen-extra-tags: db: description maxLength: 5000 created_at: x-order: 4 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: 5 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 role was soft-deleted. x-order: 6 x-oapi-codegen-extra-tags: db: deleted_at 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 '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 tags: - role_roles summary: Bulk edit role holders operationId: bulkEditRoleHolder description: Updates role assignments for multiple users in the organization. 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 requestBody: required: true content: application/json: schema: type: array items: type: object description: Request to update role assignments for a user. 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 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-order: 2 username: type: string x-order: 3 description: The username of the userroleupdaterequest. maxLength: 500 email: type: string format: email x-order: 4 description: Email address. firstName: type: string x-order: 5 description: The first name of the userroleupdaterequest. maxLength: 500 lastName: type: string x-order: 6 description: The last name of the userroleupdaterequest. maxLength: 500 status: type: string x-order: 7 description: Current status of the resource. maxLength: 255 roleNames: type: array items: type: string x-order: 8 description: The role names of the userroleupdaterequest. created_at: x-order: 9 type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: x-order: 11 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 responses: '200': description: Role holders 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 '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}/roles/{roleId}/keychains: get: x-internal: - cloud tags: - role_roles summary: Get keychains for role operationId: getRoleKeychains description: Returns all keychains assigned to the specified role. 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: roleId in: path description: Role 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 - 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: Keychains response content: application/json: schema: x-go-type: keychainv1beta1.KeychainPage x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/keychain name: keychainv1beta1 type: object required: - page - page_size - total_count - keychains properties: page: x-order: 1 type: integer x-go-type-skip-optional-pointer: true page_size: x-order: 2 type: integer x-go-type-skip-optional-pointer: true total_count: x-order: 3 type: integer x-go-type-skip-optional-pointer: true keychains: type: array items: type: object additionalProperties: false description: Represents a collection of keys. required: - id - name - owner - created_at - updated_at 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 x-order: 1 name: type: string description: Name of the keychain. minLength: 1 maxLength: 255 x-oapi-codegen-extra-tags: db: name x-order: 2 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 x-order: 3 created_at: x-order: 4 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: 5 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 6 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 x-order: 4 description: The keychains of the keychainpage. '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}/roles/{roleId}/keychains/{keychainId}: post: x-internal: - cloud tags: - role_roles summary: Assign keychain to role operationId: assignKeychainToRole description: Associates a keychain with the specified role. 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: roleId in: path description: Role 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: keychainId in: path description: Keychain 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: Keychain assigned to role '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 tags: - role_roles summary: Unassign keychain from role operationId: unassignKeychainFromRole description: Removes the association between a keychain and a role. 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: roleId in: path description: Role 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: keychainId in: path description: Keychain 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: Keychain unassigned from role '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 /user/schedules: get: x-internal: - cloud tags: - schedule_scheduler summary: Get schedules operationId: getSchedules description: Returns all schedules for 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: Schedules response content: application/json: schema: type: object description: A paginated list of schedules. required: - page - page_size - total_count - schedules properties: page: type: integer description: Current page number (zero-based). x-order: 1 minimum: 0 page_size: type: integer description: Number of schedules per page. x-order: 2 minimum: 1 total_count: type: integer description: Total number of schedules across all pages. x-order: 3 minimum: 0 schedules: type: array items: type: object description: > A schedule defines a recurring cron-based trigger for performance tests or other automated tasks. required: - name - user_id - cron_expression properties: id: description: Unique identifier for the schedule. 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 schedule. x-order: 2 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 user_id: description: UUID of the user who owns this schedule. 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 cron_expression: type: string description: | Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). x-order: 4 x-oapi-codegen-extra-tags: db: cron_expression maxLength: 500 created_at: x-order: 5 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: 6 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 x-order: 4 description: The schedules of the schedulepage. '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 tags: - schedule_scheduler summary: Create or update schedule operationId: upsertSchedule description: Creates or updates a schedule for the authenticated user. requestBody: required: true content: application/json: schema: type: object description: | A schedule defines a recurring cron-based trigger for performance tests or other automated tasks. required: - name - user_id - cron_expression properties: id: description: Unique identifier for the schedule. 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 schedule. x-order: 2 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 user_id: description: UUID of the user who owns this schedule. 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 cron_expression: type: string description: | Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). x-order: 4 x-oapi-codegen-extra-tags: db: cron_expression maxLength: 500 created_at: x-order: 5 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: 6 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 responses: '200': description: Schedule upserted content: application/json: schema: type: object description: | A schedule defines a recurring cron-based trigger for performance tests or other automated tasks. required: - name - user_id - cron_expression properties: id: description: Unique identifier for the schedule. 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 schedule. x-order: 2 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 user_id: description: UUID of the user who owns this schedule. 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 cron_expression: type: string description: | Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). x-order: 4 x-oapi-codegen-extra-tags: db: cron_expression maxLength: 500 created_at: x-order: 5 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: 6 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 '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 /user/schedules/{id}: get: x-internal: - cloud tags: - schedule_scheduler summary: Get schedule by ID operationId: getSchedule description: Returns a specific schedule by its ID. parameters: - name: id in: path description: Schedule 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: Schedule response content: application/json: schema: type: object description: | A schedule defines a recurring cron-based trigger for performance tests or other automated tasks. required: - name - user_id - cron_expression properties: id: description: Unique identifier for the schedule. 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 schedule. x-order: 2 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 user_id: description: UUID of the user who owns this schedule. 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 cron_expression: type: string description: | Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). x-order: 4 x-oapi-codegen-extra-tags: db: cron_expression maxLength: 500 created_at: x-order: 5 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: 6 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 '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 tags: - schedule_scheduler summary: Delete schedule operationId: deleteSchedule description: Deletes a schedule by its ID. parameters: - name: id in: path description: Schedule 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: Schedule 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/identity/orgs/{orgId}/teams: get: 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 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. '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: 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 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 '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: 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 team-user mappings 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 teamsUsersMapping: type: array x-go-type-skip-optional-pointer: true items: x-go-type: TeamsUsersMapping type: object description: Mapping between teams and users 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 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true user_id: x-oapi-codegen-extra-tags: db: user_id type: string description: user's email or username x-go-type-skip-optional-pointer: true 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: x-oapi-codegen-extra-tags: db: deleted_at 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 users mapping of the teamsusersmappingpage. '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: 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: Mapping between teams and users 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 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true user_id: x-oapi-codegen-extra-tags: db: user_id type: string description: user's email or username x-go-type-skip-optional-pointer: true 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: x-oapi-codegen-extra-tags: db: deleted_at 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 '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: 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: 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 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 additionalProperties: 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: 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 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: 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: 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 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: 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 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: Represents a user in Layer5 Cloud (Meshery) required: - id - user_id - provider - email - first_name - last_name - status - created_at - updated_at - last_login_time - deleted_at 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 user_id: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: user_id x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, 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 first_name: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: first_name last_name: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: last_name avatar_url: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatar_url 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 - updated_at - 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 u r l 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. updated_at: 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. accepted_terms_at: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: accepted_terms_at type: string format: date-time x-go-type-skip-optional-pointer: true first_login_time: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: first_login_time type: string format: date-time x-go-type-skip-optional-pointer: true last_login_time: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: last_login_time type: string format: date-time x-go-type-skip-optional-pointer: true created_at: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at 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 deleted_at: 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: deleted_at role_names: 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: role_names teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teams_with_roles: 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: teams_with_roles total_count: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizations_with_roles: 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: organizations_with_roles total_count: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count 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: 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 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: 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 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: Represents a user in Layer5 Cloud (Meshery) required: - id - user_id - provider - email - first_name - last_name - status - created_at - updated_at - last_login_time - deleted_at 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 user_id: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: user_id x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, 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 first_name: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: first_name last_name: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: last_name avatar_url: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatar_url 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 - updated_at - 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 u r l 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. updated_at: 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. accepted_terms_at: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: accepted_terms_at type: string format: date-time x-go-type-skip-optional-pointer: true first_login_time: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: first_login_time type: string format: date-time x-go-type-skip-optional-pointer: true last_login_time: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: last_login_time type: string format: date-time x-go-type-skip-optional-pointer: true created_at: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at 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 deleted_at: 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: deleted_at role_names: 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: role_names teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teams_with_roles: 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: teams_with_roles total_count: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizations_with_roles: 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: organizations_with_roles total_count: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count 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: 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 in Layer5 Cloud (Meshery) required: - id - user_id - provider - email - first_name - last_name - status - created_at - updated_at - last_login_time - deleted_at 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 user_id: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: user_id x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, 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 first_name: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: first_name last_name: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: last_name avatar_url: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatar_url 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 - updated_at - 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 u r l 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. updated_at: 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. accepted_terms_at: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: accepted_terms_at type: string format: date-time x-go-type-skip-optional-pointer: true first_login_time: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: first_login_time type: string format: date-time x-go-type-skip-optional-pointer: true last_login_time: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: last_login_time type: string format: date-time x-go-type-skip-optional-pointer: true created_at: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at 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 deleted_at: 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: deleted_at role_names: 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: role_names teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teams_with_roles: 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: teams_with_roles total_count: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizations_with_roles: 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: organizations_with_roles total_count: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count 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: 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 in Layer5 Cloud (Meshery) required: - id - user_id - provider - email - first_name - last_name - status - created_at - updated_at - last_login_time - deleted_at 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 user_id: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: user_id x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, 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 first_name: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: first_name last_name: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: last_name avatar_url: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatar_url 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 - updated_at - 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 u r l 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. updated_at: 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. accepted_terms_at: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: accepted_terms_at type: string format: date-time x-go-type-skip-optional-pointer: true first_login_time: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: first_login_time type: string format: date-time x-go-type-skip-optional-pointer: true last_login_time: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: last_login_time type: string format: date-time x-go-type-skip-optional-pointer: true created_at: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at 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 deleted_at: 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: deleted_at role_names: 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: role_names teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teams_with_roles: 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: teams_with_roles total_count: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizations_with_roles: 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: organizations_with_roles total_count: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count 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/content/views: post: x-internal: - cloud tags: - View_views operationId: createView summary: Create a view description: Creates a new view with the given filters and metadata. requestBody: description: Body for creating or updating a view required: true content: application/json: schema: type: object description: Payload for creating or updating a view. required: - name properties: name: type: string description: Display name of the view. maxLength: 255 minLength: 1 x-oapi-codegen-extra-tags: json: name,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: json: filters,omitempty visibility: type: string description: Visibility level of the view. maxLength: 255 x-oapi-codegen-extra-tags: json: visibility,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: json: metadata,omitempty responses: '201': description: Created view content: application/json: schema: $id: https://schemas.meshery.io/view.yaml $schema: http://json-schema.org/draft-07/schema# title: MesheryView description: >- A saved view with filters and metadata that defines a customized perspective of Meshery resources. Learn more at https://docs.meshery.io/concepts/logical/views additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 name: My Kubernetes View visibility: private filters: {} metadata: {} user_id: 00000000-0000-0000-0000-000000000000 created_at: '0001-01-01T00:00:00Z' updated_at: '0001-01-01T00:00:00Z' deleted_at: null required: - id - name - visibility - user_id - created_at - updated_at properties: id: description: Unique identifier for the view. 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: type: string description: Display name of the view. maxLength: 255 minLength: 1 x-order: 2 x-oapi-codegen-extra-tags: db: name yaml: name visibility: type: string description: Visibility level of the view. maxLength: 255 x-order: 3 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: visibility yaml: visibility filters: type: object description: Filter configuration that defines which resources this view displays. 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-order: 4 x-oapi-codegen-extra-tags: db: filters yaml: filters metadata: type: object description: Additional 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-order: 5 x-oapi-codegen-extra-tags: db: metadata yaml: metadata user_id: description: ID of the user who created the view. x-go-name: UserID x-go-type-skip-optional-pointer: true x-order: 6 x-oapi-codegen-extra-tags: db: user_id yaml: user_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid created_at: description: Timestamp when the view was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-order: 7 type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the view was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-order: 8 type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: description: Timestamp when the view was soft deleted. Null while the view remains active. nullable: true x-go-type: core.NullTime x-go-import: database/sql x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-order: 9 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 '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 tags: - View_views operationId: getViews summary: Get views description: Returns a paginated list of views accessible to the user. 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: filter in: query description: JSON-encoded filter string for assignment and soft-delete filters. required: false schema: type: string - name: shared in: query description: When true, include views shared with the user. required: false schema: type: boolean - name: visibility in: query description: Filter by visibility level (public, private). required: false schema: type: string - name: orgId in: query description: Organization ID to scope the request. schema: type: string required: false - name: userId in: query description: UUID of the user whose views to retrieve. required: false schema: type: string responses: '200': description: Views page 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: ID of the user who created the view. 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: ID of the workspace this view belongs to. 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: ID of the organization this view belongs to. 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. '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/content/views/{viewId}: get: x-internal: - cloud tags: - View_views operationId: getViewById summary: Get a view by ID description: Returns a single view by its unique identifier. parameters: - 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: View content: application/json: schema: $id: https://schemas.meshery.io/view.yaml $schema: http://json-schema.org/draft-07/schema# title: MesheryView description: >- A saved view with filters and metadata that defines a customized perspective of Meshery resources. Learn more at https://docs.meshery.io/concepts/logical/views additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 name: My Kubernetes View visibility: private filters: {} metadata: {} user_id: 00000000-0000-0000-0000-000000000000 created_at: '0001-01-01T00:00:00Z' updated_at: '0001-01-01T00:00:00Z' deleted_at: null required: - id - name - visibility - user_id - created_at - updated_at properties: id: description: Unique identifier for the view. 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: type: string description: Display name of the view. maxLength: 255 minLength: 1 x-order: 2 x-oapi-codegen-extra-tags: db: name yaml: name visibility: type: string description: Visibility level of the view. maxLength: 255 x-order: 3 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: visibility yaml: visibility filters: type: object description: Filter configuration that defines which resources this view displays. 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-order: 4 x-oapi-codegen-extra-tags: db: filters yaml: filters metadata: type: object description: Additional 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-order: 5 x-oapi-codegen-extra-tags: db: metadata yaml: metadata user_id: description: ID of the user who created the view. x-go-name: UserID x-go-type-skip-optional-pointer: true x-order: 6 x-oapi-codegen-extra-tags: db: user_id yaml: user_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid created_at: description: Timestamp when the view was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-order: 7 type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the view was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-order: 8 type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: description: Timestamp when the view was soft deleted. Null while the view remains active. nullable: true x-go-type: core.NullTime x-go-import: database/sql x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-order: 9 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 '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 tags: - View_views operationId: updateView summary: Update a view description: Updates an existing view with new filters, metadata, or visibility. parameters: - 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 requestBody: description: Body for creating or updating a view required: true content: application/json: schema: type: object description: Payload for creating or updating a view. required: - name properties: name: type: string description: Display name of the view. maxLength: 255 minLength: 1 x-oapi-codegen-extra-tags: json: name,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: json: filters,omitempty visibility: type: string description: Visibility level of the view. maxLength: 255 x-oapi-codegen-extra-tags: json: visibility,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: json: metadata,omitempty responses: '200': description: Updated view content: application/json: schema: $id: https://schemas.meshery.io/view.yaml $schema: http://json-schema.org/draft-07/schema# title: MesheryView description: >- A saved view with filters and metadata that defines a customized perspective of Meshery resources. Learn more at https://docs.meshery.io/concepts/logical/views additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 name: My Kubernetes View visibility: private filters: {} metadata: {} user_id: 00000000-0000-0000-0000-000000000000 created_at: '0001-01-01T00:00:00Z' updated_at: '0001-01-01T00:00:00Z' deleted_at: null required: - id - name - visibility - user_id - created_at - updated_at properties: id: description: Unique identifier for the view. 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: type: string description: Display name of the view. maxLength: 255 minLength: 1 x-order: 2 x-oapi-codegen-extra-tags: db: name yaml: name visibility: type: string description: Visibility level of the view. maxLength: 255 x-order: 3 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: visibility yaml: visibility filters: type: object description: Filter configuration that defines which resources this view displays. 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-order: 4 x-oapi-codegen-extra-tags: db: filters yaml: filters metadata: type: object description: Additional 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-order: 5 x-oapi-codegen-extra-tags: db: metadata yaml: metadata user_id: description: ID of the user who created the view. x-go-name: UserID x-go-type-skip-optional-pointer: true x-order: 6 x-oapi-codegen-extra-tags: db: user_id yaml: user_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid created_at: description: Timestamp when the view was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-order: 7 type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the view was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-order: 8 type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: description: Timestamp when the view was soft deleted. Null while the view remains active. nullable: true x-go-type: core.NullTime x-go-import: database/sql x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-order: 9 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 '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 tags: - View_views operationId: deleteView summary: Delete a view description: Soft-deletes a view by its unique identifier. parameters: - 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: View 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: get: x-internal: - cloud tags: - Workspace_workspaces operationId: getWorkspaces summary: Get all workspaces description: Gets all workspaces accessible to the current user. 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: filter in: query description: JSON-encoded filter string used for assignment and soft-delete filters. schema: type: string responses: '200': description: Workspaces content: application/json: schema: type: object description: Paginated list of workspaces. 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 workspaces: type: array 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 org_name: 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: org_name,omitempty owner: type: string description: Display name of the workspace owner. maxLength: 255 x-oapi-codegen-extra-tags: db: owner json: owner,omitempty owner_id: description: User ID of the workspace owner. x-go-name: OwnerId x-oapi-codegen-extra-tags: db: owner_id json: owner_id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner_email: type: string description: Email address of the workspace owner. maxLength: 320 x-oapi-codegen-extra-tags: db: owner_email json: owner_email,omitempty owner_avatar: type: string description: Avatar URL of the workspace owner. maxLength: 2048 x-oapi-codegen-extra-tags: db: owner_avatar json: owner_avatar,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 organization_id: type: string format: uuid description: Organization to which this workspace belongs. 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,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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true description: List of workspaces with resolved owner details. '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 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 - organization_id 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 organization_id: 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: organization_id,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 - organization_id - created_at - updated_at 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 organization_id: 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: organization_id,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 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at 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 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 - organization_id - created_at - updated_at 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 organization_id: 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: organization_id,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 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at 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 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: - organization_id 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 organization_id: 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: organization_id,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 - organization_id - created_at - updated_at 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 organization_id: 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: organization_id,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 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at 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 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 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 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 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 page_size: type: integer x-go-type-skip-optional-pointer: true total_count: type: integer x-go-type-skip-optional-pointer: true workspacesTeamsMapping: type: array 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 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true description: Workspace-team mapping entries. '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 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 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 responses: '200': description: Environments content: application/json: schema: 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 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/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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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 x-order: 7 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: 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 x-order: 9 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 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 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 page_size: type: integer x-go-type-skip-optional-pointer: true total_count: type: integer x-go-type-skip-optional-pointer: true workspacesEnvironmentsMapping: type: array 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 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true environment_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: environment_id json: environment_id x-go-type-name: EnvironmentId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true description: Workspace-environment mapping entries. '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 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 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 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 page_size: type: integer x-go-type-skip-optional-pointer: true total_count: type: integer x-go-type-skip-optional-pointer: true designs: type: array 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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 x-order: 7 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: 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 x-order: 9 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: 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 x-order: 14 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 x-order: 15 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: 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 x-order: 14 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 x-order: 15 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 description: Designs in this 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/workspaces/{workspaceId}/designs/{designId}: post: x-internal: - cloud 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 page_size: type: integer x-go-type-skip-optional-pointer: true total_count: type: integer x-go-type-skip-optional-pointer: true workspacesDesignsMapping: type: array 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 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true design_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: design_id json: design_id x-go-type-name: DesignId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true description: Workspace-design mapping entries. '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 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 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 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: ID of the user who created the view. 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: ID of the workspace this view belongs to. 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: ID of the organization this view belongs to. 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 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 page_size: type: integer x-go-type-skip-optional-pointer: true total_count: type: integer x-go-type-skip-optional-pointer: true workspacesViewsMapping: type: array 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 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true view_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: view_id json: view_id x-go-type-name: ViewId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true description: Workspace-view mapping entries. '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 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 /api/academy/curricula/registered: get: x-internal: - cloud tags: - Academy_API_Academy operationId: getMyAcademyCurricula summary: Get academy content description: Returns a list of academy content registered by the user with optional filtering. parameters: - name: contentType in: query description: Filter content by content types required: false style: form explode: true schema: type: array items: type: string - name: orgId in: query description: Filter content by organization IDs required: false style: form explode: true schema: type: array items: type: string responses: '200': description: A list of content with total count content: application/json: schema: type: object properties: total: type: integer description: Total number of Curricula example: 7 minimum: 0 data: type: array items: x-go-type: AcademyCurricula type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: >- Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: >- http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: >- http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink description: The data of the academycurriculalistresponse. required: - total - data '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Server error /api/academy/curricula: post: x-internal: - cloud tags: - Academy_API_Academy operationId: createAcademyCurricula summary: Create a new academy curricula description: Creates a new academy curricula with the provided details. requestBody: required: true content: application/json: schema: type: object properties: type: description: Type of the curricula x-go-name: Type x-go-type: ContentType x-oapi-codegen-extra-tags: json: type type: string enum: - learning-path - challenge - certification title: type: string description: Title of the curricula example: Introduction to Kubernetes x-go-name: Title x-oapi-codegen-extra-tags: json: title maxLength: 500 org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id team_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: TeamId x-oapi-codegen-extra-tags: json: team_id db: team_id access_expires_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: Expiry time for curricula access x-go-type: '*time.Time' x-oapi-codegen-extra-tags: json: access_expires_at db: access_expires_at access_status: description: Current access status of the curricula x-go-name: AccessStatus x-go-type: invitationv1beta2.InvitationStatus x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/invitation name: invitationv1beta2 x-oapi-codegen-extra-tags: json: access_status db: access_status type: string enum: - enabled - disabled metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: >- http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink required: - type - title - org_id - workspace_id - team_id - access_status - metadata responses: '201': description: created the curricula content: application/json: schema: type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: >- http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Server error get: x-internal: - cloud tags: - Academy_API_Academy operationId: getAcademyCurricula summary: Get academy content description: Returns a list of academy content with optional filtering. parameters: - name: contentType in: query description: Filter content by content types required: false style: form explode: true schema: type: array items: type: string - name: visibility in: query description: Filter content by visibility (public/private) required: false style: form explode: true schema: type: array items: type: string - name: level in: query description: Filter content by difficulty level required: false style: form explode: true schema: type: array items: type: string - name: orgId in: query description: Filter content by organization IDs required: false style: form explode: true schema: type: array items: type: string - name: category in: query description: Filter content by categories required: false style: form explode: true schema: type: array items: type: string - name: status in: query description: Filter by registration status required: false style: form explode: true schema: type: array items: type: string - name: search in: query description: Search content by title required: false schema: type: string - name: sort in: query description: Sort results by a specific field (e.g., title, createdAt) required: false schema: type: string - name: order in: query description: Order of sorting (asc or desc) required: false schema: type: string enum: - asc - desc - name: pagesize in: query description: Number of results per page required: false schema: type: integer - name: page in: query description: Page number required: false schema: type: integer responses: '200': description: A list of content with total count content: application/json: schema: type: object properties: total: type: integer description: Total number of Curricula example: 7 minimum: 0 data: type: array items: x-go-type: AcademyCurriculaWithMetrics x-go-type-skip-optional-pointer: true allOf: - type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: >- Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: >- http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: >- http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink - type: object required: - registration_count properties: registration_count: type: number description: Number of registrations associated with this curriculum. minimum: 0 x-oapi-codegen-extra-tags: db: registration_count,omitempty json: registration_count,omitempty description: The data of the academycurriculawithmetricslistresponse. required: - total - data '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Server error /api/academy/{type}/{orgId}/{slug}: get: x-internal: - cloud tags: - Academy_API_Academy operationId: getAcademyContent summary: Get a single learning path description: Returns a learning path identified by type, orgId, and slug. parameters: - name: type in: path required: true schema: type: string - name: orgId in: path required: true schema: type: string - name: slug in: path required: true schema: type: string responses: '200': description: A single academy content content: application/json: schema: type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: >- http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink '400': description: Invalid request parameters '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: Server error /api/academy/register: post: x-internal: - cloud tags: - Academy_API_Academy summary: Register a user to academy content operationId: registerToAcademyContent requestBody: required: true content: application/json: schema: type: object required: - contentId - user_id properties: contentId: type: string description: ID of the academy content to register for maxLength: 500 format: uuid user_id: type: string format: uuid description: ID of the user registering for the content. contentType: type: string enum: - learning-path - challenge - certification responses: '201': description: registered content content: application/json: schema: type: object required: - id - org_id - user_id - status - created_at - updated_at - content_id - certificate - 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-go-name: ID x-oapi-codegen-extra-tags: db: id json: id org_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: db: org_id content_id: type: string description: ID of the course content x-oapi-codegen-extra-tags: db: content_id maxLength: 500 format: uuid 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-oapi-codegen-extra-tags: db: user_id status: x-go-type: AcademyRegistrationStatus description: Status of the user's course registration x-oapi-codegen-extra-tags: db: status type: string enum: - registered - completed - failed - withdrawn updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true description: When the registration was updated x-oapi-codegen-extra-tags: db: updated_at created_at: type: string format: date-time x-go-type-skip-optional-pointer: true description: When the registration was created x-oapi-codegen-extra-tags: db: created_at deleted_at: description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true certificate: x-go-type: core.Map x-go-type-skip-optional-pointer: true description: Issued certificate for completing the curricula under registration x-oapi-codegen-extra-tags: db: certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 metadata: type: object description: Additional metadata about the registration additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Server error /api/academy/curricula/registrations/{id}/withdraw: post: x-internal: - cloud tags: - Academy_API_Academy summary: Withdraw a user from academy content operationId: withdrawFromAcademyContent parameters: - name: id in: path required: true description: The ID of the curricula schema: type: string responses: '200': description: registered content content: application/json: schema: type: object required: - id - org_id - user_id - status - created_at - updated_at - content_id - certificate - 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-go-name: ID x-oapi-codegen-extra-tags: db: id json: id org_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: db: org_id content_id: type: string description: ID of the course content x-oapi-codegen-extra-tags: db: content_id maxLength: 500 format: uuid 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-oapi-codegen-extra-tags: db: user_id status: x-go-type: AcademyRegistrationStatus description: Status of the user's course registration x-oapi-codegen-extra-tags: db: status type: string enum: - registered - completed - failed - withdrawn updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true description: When the registration was updated x-oapi-codegen-extra-tags: db: updated_at created_at: type: string format: date-time x-go-type-skip-optional-pointer: true description: When the registration was created x-oapi-codegen-extra-tags: db: created_at deleted_at: description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true certificate: x-go-type: core.Map x-go-type-skip-optional-pointer: true description: Issued certificate for completing the curricula under registration x-oapi-codegen-extra-tags: db: certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 metadata: type: object description: Additional metadata about the registration additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata '400': description: Invalid request parameters '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: Server error /api/academy/curricula/{id}: put: x-internal: - cloud tags: - Academy_API_Academy operationId: updateAcademyCurriculaById summary: Update an existing academy curricula by ID description: Updates the details of an existing academy curricula identified by its ID. parameters: - name: id in: path required: true description: The ID of the curricula schema: type: string requestBody: required: true content: application/json: schema: type: object properties: type: description: Type of the curricula x-go-name: Type x-go-type: ContentType x-oapi-codegen-extra-tags: json: type type: string enum: - learning-path - challenge - certification title: type: string description: Title of the curricula example: Introduction to Kubernetes x-go-name: Title x-oapi-codegen-extra-tags: json: title maxLength: 500 org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id team_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: TeamId x-oapi-codegen-extra-tags: json: team_id db: team_id access_expires_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: Expiry time for curricula access x-go-type: '*time.Time' x-oapi-codegen-extra-tags: json: access_expires_at db: access_expires_at access_status: description: Current access status of the curricula x-go-name: AccessStatus x-go-type: invitationv1beta2.InvitationStatus x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/invitation name: invitationv1beta2 x-oapi-codegen-extra-tags: json: access_status db: access_status type: string enum: - enabled - disabled metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: >- http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink required: - type - title - org_id - workspace_id - team_id - access_status - metadata responses: '200': description: updated the curricula content: application/json: schema: type: object allOf: - type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: >- Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: >- http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: >- http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink - type: object required: - registration_count properties: registration_count: type: number description: Number of registrations associated with this curriculum. minimum: 0 x-oapi-codegen-extra-tags: db: registration_count,omitempty json: registration_count,omitempty invitation: x-go-type: invitationv1beta2.Invitation x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/invitation name: invitationv1beta2 type: object additionalProperties: false description: Invitation entity schema. required: - id - owner_id - name - description - org_id - accepted_by - emails - roles - teams - status - created_at - updated_at - deleted_at 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 owner_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: db: owner_id json: owner_id is_default: type: boolean description: >- Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation x-oapi-codegen-extra-tags: db: is_default json: is_default name: type: string description: >- Name of the invitation, which can be used to identify the invitation, required and cant be empty string, minLength: 1 maxLength: 255 description: type: string description: >- Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: >- Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses description: The emails of the invitation. org_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: db: org_id json: org_id expires_at: type: string format: date-time description: >- Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire x-oapi-codegen-extra-tags: db: expires_at json: expires_at quota: type: integer description: >- Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota minimum: 0 accepted_by: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet x-oapi-codegen-extra-tags: db: accepted_by json: accepted_by roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. created_at: type: string format: date-time description: Timestamp when the invitation was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: type: string format: date-time description: Timestamp when the invitation was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: type: string format: date-time x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core description: Timestamp when the invitation was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Curricula not found '500': description: Server error delete: x-internal: - cloud tags: - Academy_API_Academy operationId: deleteAcademyCurriculaById summary: Delete an academy curricula by ID description: Deletes an existing academy curricula identified by its ID. parameters: - name: id in: path required: true description: The ID of the curricula schema: type: string responses: '204': description: Curricula deleted '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Curricula not found '500': description: Server error get: x-internal: - cloud tags: - Academy_API_Academy operationId: getAcademyCurriculaById summary: Get a single academy curricula by ID description: Returns a single academy curricula identified by its ID. parameters: - name: id in: path required: true description: The ID of the curricula schema: type: string responses: '200': description: A single curricula content: application/json: schema: type: object allOf: - type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: >- Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: >- http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: >- http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink - type: object required: - registration_count properties: registration_count: type: number description: Number of registrations associated with this curriculum. minimum: 0 x-oapi-codegen-extra-tags: db: registration_count,omitempty json: registration_count,omitempty invitation: x-go-type: invitationv1beta2.Invitation x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/invitation name: invitationv1beta2 type: object additionalProperties: false description: Invitation entity schema. required: - id - owner_id - name - description - org_id - accepted_by - emails - roles - teams - status - created_at - updated_at - deleted_at 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 owner_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: db: owner_id json: owner_id is_default: type: boolean description: >- Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation x-oapi-codegen-extra-tags: db: is_default json: is_default name: type: string description: >- Name of the invitation, which can be used to identify the invitation, required and cant be empty string, minLength: 1 maxLength: 255 description: type: string description: >- Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: >- Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses description: The emails of the invitation. org_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: db: org_id json: org_id expires_at: type: string format: date-time description: >- Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire x-oapi-codegen-extra-tags: db: expires_at json: expires_at quota: type: integer description: >- Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota minimum: 0 accepted_by: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet x-oapi-codegen-extra-tags: db: accepted_by json: accepted_by roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. created_at: type: string format: date-time description: Timestamp when the invitation was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: type: string format: date-time description: Timestamp when the invitation was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: type: string format: date-time x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core description: Timestamp when the invitation was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Curricula not found '500': description: Server error /api/academy/registrations/{contentId}: get: tags: - Academy_API_Academy x-internal: - cloud summary: Get registration information for academy content description: Returns registration data for a specific content item, optionally filtered by status. parameters: - name: contentId in: path required: true description: The ID of the content to retrieve registration data for schema: type: string - name: status in: query required: false description: Filter registrations by status (e.g., registered, completed) schema: type: string responses: '200': description: Registration data for the specified content content: application/json: schema: type: object required: - id - org_id - user_id - status - created_at - updated_at - content_id - certificate - 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-go-name: ID x-oapi-codegen-extra-tags: db: id json: id org_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: db: org_id content_id: type: string description: ID of the course content x-oapi-codegen-extra-tags: db: content_id maxLength: 500 format: uuid 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-oapi-codegen-extra-tags: db: user_id status: x-go-type: AcademyRegistrationStatus description: Status of the user's course registration x-oapi-codegen-extra-tags: db: status type: string enum: - registered - completed - failed - withdrawn updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true description: When the registration was updated x-oapi-codegen-extra-tags: db: updated_at created_at: type: string format: date-time x-go-type-skip-optional-pointer: true description: When the registration was created x-oapi-codegen-extra-tags: db: created_at deleted_at: description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true certificate: x-go-type: core.Map x-go-type-skip-optional-pointer: true description: Issued certificate for completing the curricula under registration x-oapi-codegen-extra-tags: db: certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 metadata: type: object description: Additional metadata about the registration additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Content not found '500': description: Server error /api/academy/registrations/{registrationId}/progress-tracker/update-current-item: post: tags: - Academy_API_Academy x-internal: - cloud operationId: updateCurrentItemInProgressTracker summary: Update the current item in the progress tracker parameters: - name: registrationId in: path required: true schema: type: string description: The ID of the registration requestBody: required: true content: application/json: schema: type: object properties: contentType: type: string enum: - learning-path - challenge - certification x-go-type: ContentType itemData: x-go-type: CurriculaCurrentItemData type: object required: - id - lastOpened - contentType properties: id: type: string description: CurriculaCurrentItemData ID. maxLength: 500 format: uuid lastOpened: type: string format: date-time description: The last opened of the curriculacurrentitemdata. contentType: type: string enum: - learning-path - challenge - certification x-go-type: ContentType required: - contentType - itemData responses: '200': description: Progress tracker updated content: application/json: schema: type: object properties: message: type: string description: The message of the updatecurrentitemprogressresponse. maxLength: 500 progressTracker: type: object required: - currentItem - grades - timeSpent - completed - completedItems properties: currentItem: type: object additionalProperties: x-go-type: CurriculaCurrentItemData type: object required: - id - lastOpened - contentType properties: id: type: string description: CurriculaCurrentItemData ID. maxLength: 500 format: uuid lastOpened: type: string format: date-time description: The last opened of the curriculacurrentitemdata. contentType: type: string enum: - learning-path - challenge - certification x-go-type: ContentType description: The current item of the curriculaprogresstracker. grades: type: object additionalProperties: x-go-type: QuizEvaluationResult type: object required: - score - passed - totalMarks - passPercentage - quiz - attemptedAt - attempts - percentageScored - correctSubmissions properties: score: type: integer description: The score of the quizevaluationresult. minimum: 0 passed: type: boolean description: The passed of the quizevaluationresult. percentageScored: type: number format: float description: The percentage scored of the quizevaluationresult. minimum: 0 totalMarks: type: integer description: The total marks of the quizevaluationresult. minimum: 0 passPercentage: type: number format: float description: The pass percentage of the quizevaluationresult. minimum: 0 correctSubmissions: type: object additionalProperties: type: boolean description: The correct submissions of the quizevaluationresult. quiz: x-go-type: Quiz x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: >- Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 attemptedAt: type: string format: date-time description: The attempted at of the quizevaluationresult. attempts: type: integer description: The attempts of the quizevaluationresult. minimum: 0 description: The grades of the curriculaprogresstracker. timeSpent: type: integer description: Total time spent in seconds minimum: 0 completedItems: type: object description: Items that have been completed (map of item IDs to item data) additionalProperties: x-go-type: ProgressItemCompleted type: object required: - completedAt - itemData properties: completedAt: type: string format: date-time description: Timestamp when the item was completed itemData: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 completed: type: string format: date-time x-go-type: core.NullTime description: The completed of the curriculaprogresstracker. registrationId: type: string description: ID of the associated registration. maxLength: 500 format: uuid contentType: type: string enum: - learning-path - challenge - certification itemData: type: object required: - id - lastOpened - contentType properties: id: type: string description: CurriculaCurrentItemData ID. maxLength: 500 format: uuid lastOpened: type: string format: date-time description: The last opened of the curriculacurrentitemdata. contentType: type: string enum: - learning-path - challenge - certification x-go-type: ContentType '400': description: Bad request content: application/json: schema: type: object properties: error: type: string description: The error of the errorresponse. maxLength: 500 details: type: string description: The details of the errorresponse. maxLength: 500 '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: Server error content: application/json: schema: type: object properties: error: type: string description: The error of the errorresponse. maxLength: 500 details: type: string description: The details of the errorresponse. maxLength: 500 /api/academy/registrations/tests: get: tags: - Academy_API_Academy x-internal: - cloud operationId: getTestByAbsPath summary: Get test metadata description: Returns metadata for test identified by its absolute path. parameters: - name: absPath in: query required: true description: The absolute path of the test to retrieve schema: type: string responses: '200': description: A single test content: application/json: schema: x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Quiz not found '500': description: Server error /api/academy/registrations/test-sessions/start: post: tags: - Academy_API_Academy x-internal: - cloud operationId: startTestById summary: Start a Test by ID description: Starts a new test session for the quiz identified by its ID. requestBody: required: true content: application/json: schema: type: object required: - testAbsPath - registrationId properties: testAbsPath: type: string description: The test abs path of the starttestrequest. maxLength: 500 registrationId: type: string description: ID of the associated registration. maxLength: 500 format: uuid responses: '200': description: A single test content: application/json: schema: x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Quiz not found '500': description: Server error /api/academy/registrations/{id}/test-sessions: get: tags: - Academy_API_Academy x-internal: - cloud operationId: getAllTestSessionsForRegistration summary: Get all tests for a registration description: Returns all tests associated with a specific registration ID for a user. parameters: - name: id in: path required: true description: The ID of the registration to retrieve tests for 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: testAbsPath in: query required: false description: Filter tests by absolute path schema: type: string responses: '200': description: A list of tests for the specified registration content: application/json: schema: type: array items: type: array description: Test submissions made by the user (array of QuizEvaluationResult) items: type: object required: - score - passed - totalMarks - passPercentage - quiz - attemptedAt - attempts - percentageScored - correctSubmissions properties: score: type: integer description: The score of the quizevaluationresult. minimum: 0 passed: type: boolean description: The passed of the quizevaluationresult. percentageScored: type: number format: float description: The percentage scored of the quizevaluationresult. minimum: 0 totalMarks: type: integer description: The total marks of the quizevaluationresult. minimum: 0 passPercentage: type: number format: float description: The pass percentage of the quizevaluationresult. minimum: 0 correctSubmissions: type: object additionalProperties: type: boolean description: The correct submissions of the quizevaluationresult. quiz: x-go-type: Quiz x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: >- Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 attemptedAt: type: string format: date-time description: The attempted at of the quizevaluationresult. attempts: type: integer description: The attempts of the quizevaluationresult. minimum: 0 '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Registration not found '500': description: Server error /api/academy/registrations/test-sessions/submit: post: tags: - Academy_API_Academy x-internal: - cloud operationId: submitQuiz summary: Submit a quiz for evaluation requestBody: required: true content: application/json: schema: type: object required: - quizAbsPath - registrationId - testSessionId - user_id - answers properties: testSessionId: 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 quizAbsPath: type: string description: The quiz abs path of the quizsubmission. maxLength: 500 registrationId: type: string description: ID of the associated registration. maxLength: 500 format: uuid user_id: type: string description: ID of the user who owns or created this resource. maxLength: 500 format: uuid answers: type: array items: x-go-type: SubmittedAnswer type: object required: - questionId - selectedOptionId - answerText properties: questionId: type: string description: ID of the associated question. maxLength: 500 format: uuid selectedOptionId: type: object additionalProperties: type: boolean description: Map of selected option IDs to a boolean value indicating if it was selected. answerText: type: string description: The answer text of the submittedanswer. maxLength: 500 description: The answers of the quizsubmission. responses: '200': description: Progress tracker updated content: application/json: schema: type: object required: - score - passed - totalMarks - passPercentage - quiz - attemptedAt - attempts - percentageScored - correctSubmissions properties: score: type: integer description: The score of the quizevaluationresult. minimum: 0 passed: type: boolean description: The passed of the quizevaluationresult. percentageScored: type: number format: float description: The percentage scored of the quizevaluationresult. minimum: 0 totalMarks: type: integer description: The total marks of the quizevaluationresult. minimum: 0 passPercentage: type: number format: float description: The pass percentage of the quizevaluationresult. minimum: 0 correctSubmissions: type: object additionalProperties: type: boolean description: The correct submissions of the quizevaluationresult. quiz: x-go-type: Quiz x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 attemptedAt: type: string format: date-time description: The attempted at of the quizevaluationresult. attempts: type: integer description: The attempts of the quizevaluationresult. minimum: 0 '400': description: Bad request content: application/json: schema: type: object properties: error: type: string description: The error of the errorresponse. maxLength: 500 details: type: string description: The details of the errorresponse. maxLength: 500 '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Server error content: application/json: schema: type: object properties: error: type: string description: The error of the errorresponse. maxLength: 500 details: type: string description: The details of the errorresponse. maxLength: 500 /api/academy/admin/summary: get: tags: - Academy_API_Academy x-internal: - cloud operationId: getAcademyAdminSummary summary: Get academy content summary description: Returns a summary of all academy content with metrics. responses: '200': description: A list of content with total count and registration metrics content: application/json: schema: type: object '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Server error /api/academy/admin/registrations: get: x-internal: - cloud tags: - Academy_API_Academy operationId: getAcademyAdminRegistrations summary: Get academy registrations description: Returns a list of academy registrations with user, curricula, and pagination details. parameters: - name: pagesize in: query required: false description: Number of results per page schema: type: integer - name: page in: query required: false description: Page number schema: type: integer - name: contentType in: query required: false description: Filter by content types style: form explode: true schema: type: array items: type: string - name: status in: query required: false description: Filter by registration status style: form explode: true schema: type: array items: type: string responses: '200': description: List of registrations with pagination info content: application/json: schema: type: object required: - data - total_count - page_size - page properties: data: type: array items: x-go-type: UserRegistration type: object required: - curricula_title - curricula_type - curricula_permalink - registration_id - status - user_id - user_email - user_last_name - user_first_name - user_avatar_url - total_count properties: curricula_title: type: string description: Title of the curricula x-oapi-codegen-extra-tags: db: curricula_title maxLength: 500 curricula_type: type: string enum: - learning-path - challenge - certification description: Type of the curricula x-go-type: ContentType x-oapi-codegen-extra-tags: db: curricula_type curricula_permalink: type: string description: Permalink of the curricula x-oapi-codegen-extra-tags: db: curricula_permalink maxLength: 500 registration_id: type: string format: uuid description: Unique ID of the registration x-oapi-codegen-extra-tags: db: registration_id status: description: Registration status x-go-type: AcademyRegistrationStatus x-oapi-codegen-extra-tags: db: status type: string enum: - registered - completed - failed - withdrawn created_at: type: string format: date-time description: When the registration was created x-oapi-codegen-extra-tags: db: created_at user_id: type: string format: uuid description: ID of the user x-oapi-codegen-extra-tags: db: user_id user_first_name: type: string description: First name of the user x-oapi-codegen-extra-tags: db: user_first_name maxLength: 500 user_last_name: type: string description: Last name of the user x-oapi-codegen-extra-tags: db: user_last_name maxLength: 500 user_email: type: string format: email description: Email of the user x-oapi-codegen-extra-tags: db: user_email user_avatar_url: type: string format: uri description: Avatar URL of the user x-oapi-codegen-extra-tags: db: user_avatar_url total_count: type: integer format: int64 description: Total count for pagination x-oapi-codegen-extra-tags: db: total_count minimum: 0 description: The data of the curricularegistrationsresponse. total_count: type: integer format: int64 description: Total number of items available. minimum: 0 page_size: type: integer description: Number of items per page. minimum: 1 page: type: integer description: Current page number of the result set. minimum: 0 '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '500': description: Server error /api/academy/certificates/{certificateId}: get: x-internal: - cloud tags: - Academy_API_Academy operationId: getCertificateById summary: Get a certificate by ID description: Returns a certificate identified by its ID. parameters: - name: certificateId in: path required: true description: The ID of the certificate to retrieve schema: type: string responses: '200': description: A single certificate content: application/json: schema: type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 '400': description: Invalid request parameters '401': description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string '404': description: Certificate not found '500': description: Server error /api/integrations/connections: get: 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 default: 0 - name: pagesize in: query description: Number of items per page required: false schema: type: integer default: 10 - name: search in: query description: Search term required: false schema: type: string - name: order in: query description: Sort order required: false schema: type: string - name: filter in: query description: Filter connections (general filter string) required: false schema: type: string - name: kind in: query description: Filter by connection kind (e.g., kubernetes, prometheus, grafana) required: false schema: type: array items: type: string - 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 - name: name in: query description: Filter by connection name (partial match supported) required: false schema: type: string 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 - total_count - page - page_size 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 - sub_type - kind - status properties: id: description: Connection 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: Connection Name minLength: 1 maxLength: 255 credential_id: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credential_id x-order: 3 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 yaml: type x-order: 4 type: string description: Connection Type (platform, telemetry, collaboration) maxLength: 255 sub_type: x-oapi-codegen-extra-tags: db: sub_type yaml: sub_type x-order: 5 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) maxLength: 255 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) maxLength: 255 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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/v1beta2 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 total_count: type: integer description: Total number of connections on all pages x-order: 2 minimum: 0 page: type: integer description: Current page number x-order: 3 minimum: 0 page_size: type: integer description: Number of elements per page 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: 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 - sub_type - kind - status properties: id: description: Connection 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: Connection Name minLength: 1 maxLength: 255 credential_id: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credential_id x-order: 3 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 yaml: type x-order: 4 type: string description: Connection Type (platform, telemetry, collaboration) maxLength: 255 sub_type: x-oapi-codegen-extra-tags: db: sub_type yaml: sub_type x-order: 5 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) maxLength: 255 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) maxLength: 255 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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/v1beta2 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: 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 - sub_type - kind - status properties: id: description: Connection 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: Connection Name minLength: 1 maxLength: 255 credential_id: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credential_id x-order: 3 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 yaml: type x-order: 4 type: string description: Connection Type (platform, telemetry, collaboration) maxLength: 255 sub_type: x-oapi-codegen-extra-tags: db: sub_type yaml: sub_type x-order: 5 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) maxLength: 255 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) maxLength: 255 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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/v1beta2 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: 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 - sub_type - kind - status properties: id: description: Connection 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: Connection Name minLength: 1 maxLength: 255 credential_id: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credential_id x-order: 3 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 yaml: type x-order: 4 type: string description: Connection Type (platform, telemetry, collaboration) maxLength: 255 sub_type: x-oapi-codegen-extra-tags: db: sub_type yaml: sub_type x-order: 5 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) maxLength: 255 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) maxLength: 255 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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/v1beta2 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: 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: 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: 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: 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: 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/content/patterns: get: x-internal: - cloud tags: - Design_designs summary: Get designs operationId: getPatterns description: Returns a paginated list of infrastructure designs accessible to the 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: visibility in: query description: Filter by visibility (public, private, published) schema: type: string - name: userId in: query required: false description: UUID of User. Pass userId for fetching public and published designs. schema: type: string - name: orgId in: query required: false description: User's organization ID. schema: type: string - name: metrics in: query required: false schema: type: boolean - name: workspaceId in: query required: false schema: type: string - name: populate in: query required: false schema: type: boolean - name: shared in: query required: false schema: type: boolean responses: '200': description: Designs response content: application/json: schema: type: object 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 patterns: type: array items: x-go-type: MesheryPattern type: object properties: catalogData: x-go-type: catalogv1alpha2.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1alpha2/catalog name: catalogv1alpha2 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: >- Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - 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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: >- Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: >- Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: >- How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: >- The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: >- The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: >- The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: >- Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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 description: The patterns of the mesherypatternpage. resultType: type: string description: The result type of the mesherypatternpage. maxLength: 500 total_count: type: integer description: Total number of items available. minimum: 0 '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 tags: - Design_designs summary: Save design operationId: upsertPattern description: Creates or updates an infrastructure design. requestBody: required: true content: application/json: schema: type: object properties: path: type: string x-go-type-skip-optional-pointer: true patternData: x-go-type: MesheryPattern type: object properties: catalogData: x-go-type: catalogv1alpha2.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1alpha2/catalog name: catalogv1alpha2 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - 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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: >- Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: >- The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: >- The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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 save: type: boolean description: The save of the mesherypatternrequestbody. url: description: endpoint format: uri pattern: ^https?:// x-go-type-skip-optional-pointer: true type: string name: type: string description: Name of the mesherypatternrequestbody. minLength: 1 maxLength: 255 responses: '200': description: Design saved content: application/json: schema: type: object properties: catalogData: x-go-type: catalogv1alpha2.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1alpha2/catalog name: catalogv1alpha2 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - 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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: >- Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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 '500': description: Internal server error content: text/plain: schema: type: string /api/content/patterns/delete: post: x-internal: - cloud tags: - Design_designs summary: Bulk delete designs operationId: deletePatterns description: Deletes multiple designs by ID. requestBody: required: true content: application/json: schema: type: object properties: patterns: type: array items: x-go-type: DeletePatternModel type: object properties: 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 name: type: string x-go-type-skip-optional-pointer: true description: The patterns of the mesherypatterndeleterequestbody. responses: '200': description: Designs 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 /api/content/patterns/resource: get: x-internal: - cloud tags: - Design_designs summary: Get pattern resources operationId: getPatternResources description: Returns pattern resource definitions. 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: Pattern resources response '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 tags: - Design_designs summary: Save pattern resource operationId: upsertPatternResource description: Creates or updates a pattern resource definition. responses: '200': description: Pattern resource saved '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/content/patterns/resource/{id}: get: x-internal: - cloud tags: - Design_designs summary: Get pattern resource by ID operationId: getPatternResource parameters: - name: id in: path description: Design (Pattern) 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: Pattern resource response '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 tags: - Design_designs summary: Delete pattern resource operationId: deletePatternResource parameters: - name: id in: path description: Design (Pattern) 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: Pattern resource 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/content/patterns/{id}: get: x-internal: - cloud tags: - Design_designs summary: Get design by ID operationId: getPattern parameters: - name: id in: path description: Design (Pattern) 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: Design response content: application/json: schema: type: object properties: catalogData: x-go-type: catalogv1alpha2.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1alpha2/catalog name: catalogv1alpha2 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - 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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: >- Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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 '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 tags: - Design_designs summary: Delete design by ID operationId: deletePattern parameters: - name: id in: path description: Design (Pattern) 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: Design 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/content/patterns/clone/{id}: post: x-internal: - cloud tags: - Design_designs summary: Clone design operationId: clonePattern description: Creates a copy of an existing design. parameters: - name: id in: path description: Design (Pattern) 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: Design cloned content: application/json: schema: type: object properties: catalogData: x-go-type: catalogv1alpha2.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1alpha2/catalog name: catalogv1alpha2 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - 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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: >- Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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/content/patterns/download/{id}: get: x-internal: - cloud tags: - Design_designs summary: Download design file operationId: getDesignPatternFile description: Downloads the raw design file for the specified design. parameters: - name: id in: path description: Design (Pattern) 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: Design file content content: application/yaml: 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/content/patterns/upload/{id}: post: x-internal: - cloud tags: - Design_designs summary: Upload design source content operationId: upsertPatternSourceContent description: Uploads or replaces the source content for a design. parameters: - name: id in: path description: Design (Pattern) 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 requestBody: required: true content: multipart/form-data: schema: type: object description: >- Choose the method you prefer to upload your design file. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online. enum: - file - url properties: file: type: string format: file description: >- 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. maxLength: 500 name: type: string default: Untitled Design description: >- Provide a name for your design file. This name will help you identify the file more easily. You can also change the name of your design after importing it. minLength: 1 maxLength: 255 url: type: string format: uri description: >- Provide the URL of the file you want to import. This should be a direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Also, ensure that design 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 responses: '200': description: Design source content uploaded '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/pattern/import: post: tags: - Design_designs summary: Import Design operationId: importDesign requestBody: required: true content: multipart/form-data: schema: type: object description: >- Choose the method you prefer to upload your design file. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online. enum: - file - url properties: file: type: string format: file description: >- 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. maxLength: 500 name: type: string default: Untitled Design description: >- Provide a name for your design file. This name will help you identify the file more easily. You can also change the name of your design after importing it. minLength: 1 maxLength: 255 url: type: string format: uri description: >- Provide the URL of the file you want to import. This should be a direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Also, ensure that design 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 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/catalog/content/{type}: get: x-internal: - cloud tags: - Design_designs summary: Get catalog content operationId: getCatalogContent security: [] parameters: - name: type in: path required: true 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: 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: type in: query required: false schema: type: string - name: technology in: query required: false schema: type: string - name: metrics in: query required: false schema: type: boolean - name: class in: query required: false schema: type: string - name: userId in: query required: false schema: type: string - name: orgId in: query required: false schema: type: string - name: workspaceId in: query required: false schema: type: string - name: teamId in: query required: false schema: type: string - name: populate in: query required: false schema: type: boolean responses: '200': description: Catalog content page content: application/json: schema: type: object 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 patterns: type: array items: type: object properties: catalogData: x-go-type: catalogv1alpha2.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1alpha2/catalog name: catalogv1alpha2 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: >- Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - 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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: >- Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: >- Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: >- How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: >- The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: >- The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: >- The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: >- Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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 description: The patterns of the catalogcontentpage. filters: type: array items: type: object additionalProperties: true description: The filters of the catalogcontentpage. modelsCount: type: array items: type: object additionalProperties: true description: The models count of the catalogcontentpage. categoryCount: type: array items: type: object additionalProperties: true description: The category count of the catalogcontentpage. '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 tags: - Design_designs summary: Publish catalog content operationId: publishCatalogContent parameters: - name: type in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Catalog request result content: application/json: schema: type: object additionalProperties: 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 '409': description: Conflict '500': description: Internal server error content: text/plain: schema: type: string /api/catalog/content/{type}/unpublish: post: x-internal: - cloud tags: - Design_designs summary: Unpublish catalog content operationId: unPublishCatalogContent parameters: - name: type in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Catalog request result content: application/json: schema: type: object additionalProperties: 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 '409': description: Conflict '500': description: Internal server error content: text/plain: schema: type: string /api/catalog/content/classes: get: x-internal: - cloud tags: - Design_designs summary: Get catalog content classes operationId: getCatalogContentClasses 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 responses: '200': description: Catalog content classes content: application/json: schema: type: array items: type: object properties: class: type: string description: The class of the catalogcontentclass. maxLength: 500 description: type: string description: Description of the catalogcontentclass. maxLength: 5000 additionalProperties: true '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/catalog/requests/approve: post: x-internal: - cloud tags: - Design_designs summary: Approve a catalog request operationId: approveCatalogRequest requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Request approved content: application/json: schema: type: object additionalProperties: 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 '409': description: Conflict '500': description: Internal server error content: text/plain: schema: type: string /api/catalog/requests/deny: post: x-internal: - cloud tags: - Design_designs summary: Deny a catalog request operationId: denyCatalogRequest requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Request denied content: application/json: schema: type: object additionalProperties: 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 '409': description: Conflict '500': description: Internal server error content: text/plain: schema: type: string /api/content/filters/{id}: get: x-internal: - cloud tags: - Design_designs summary: Get filter by ID operationId: getFilter parameters: - name: id in: path description: Design (Pattern) 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: Filter content: application/json: schema: type: object additionalProperties: 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/content/filters/clone/{id}: post: x-internal: - cloud tags: - Design_designs summary: Clone filter operationId: cloneFilter parameters: - name: id in: path description: Design (Pattern) 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 requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Cloned filter content: application/json: schema: type: object additionalProperties: 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/resource/{resourceType}/share/{resourceId}: post: x-internal: - cloud tags: - Design_designs summary: Share a resource operationId: handleResourceShare parameters: - name: resourceType in: path required: true schema: type: string - name: resourceId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Resource access mapping content: application/json: schema: type: object additionalProperties: 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/resource/{resourceType}/share/{resourceId}/{actorType}: get: x-internal: - cloud tags: - Design_designs summary: Get resource access actors by type operationId: getResourceAccessActorsByType parameters: - name: resourceType in: path required: true schema: type: string - name: resourceId in: path required: true schema: type: string - name: actorType in: path required: true schema: type: string responses: '200': description: Resource access actors content: application/json: schema: type: object properties: users: type: array items: type: object additionalProperties: true description: The users of the resourceaccessactorsresponse. '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/catalog/requests: get: x-internal: - cloud tags: - Design_designs summary: Get catalog requests operationId: getCatalogRequest 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: filter in: query required: false schema: type: string responses: '200': description: Catalog requests page content: application/json: schema: type: object 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 catalogRequests: type: array items: type: object additionalProperties: true description: The catalog requests of the catalogrequestspage. '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/{id}: delete: tags: - Events_events summary: Delete a single event parameters: - in: path name: id required: true schema: type: string format: uuid description: ID of the event to delete 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: tags: - Events_events summary: Create a new event requestBody: required: true content: application/json: schema: type: object 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: tags: - Events_events summary: Bulk delete events requestBody: required: true content: application/json: schema: type: object 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: The ids of the bulkdeleterequest. responses: '200': description: event deleted content: application/json: schema: type: object properties: deleted: type: array items: type: string format: uuid '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: tags: - Events_events summary: Bulk update event status requestBody: required: true content: application/json: schema: type: object 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: The ids of the bulkupdatestatusrequest. status: type: string example: failed description: Current status of the resource. maxLength: 255 responses: '200': description: Events updated content: application/json: schema: type: object properties: updated: type: array items: type: string format: uuid '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/{id}/status: put: tags: - Events_events summary: Update status of a single event parameters: - in: path name: id required: true schema: type: string format: uuid description: ID of the event requestBody: required: true content: application/json: schema: type: object required: - status properties: status: type: string example: completed description: Current status of the resource. maxLength: 255 responses: '200': description: Event status updated content: application/json: schema: type: object properties: message: type: string event_id: type: string format: uuid status: type: string '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}/events: get: x-internal: - cloud tags: - Events_events security: - Events_jwt: [] operationId: getEventsOfWorkspace summary: Get workspace events description: Gets events for 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: 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: Workspace events content: application/json: schema: type: object 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 data: type: array items: type: object additionalProperties: false description: EventResult entity schema. properties: user_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: user_id json: user_id x-go-name: UserID x-go-type-skip-optional-pointer: true system_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: system_id x-go-name: SystemID x-go-type-skip-optional-pointer: true 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 firstName: type: string description: The first name of the event. maxLength: 500 lastName: type: string description: The last name of the event. maxLength: 500 email: type: string format: email description: email x-go-type-skip-optional-pointer: true provider: type: string description: One of (x-oapi-codegen-extra-tags-cloud, github, google) x-go-type-skip-optional-pointer: true 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 required: - user_id - category - action description: The data of the eventspage. '400': description: Invalid request content: application/json: schema: type: object properties: error: type: string description: The error of the errorresponse. maxLength: 500 '401': description: Unauthorized '404': description: Workspace not found '500': description: Server error /api/events: get: x-internal: - cloud tags: - Events_events operationId: getEventsAggregate summary: Get events aggregate summary parameters: - name: cumulative in: query required: false schema: type: boolean responses: '200': description: Events aggregate content: application/json: schema: type: object properties: audit: type: integer description: The audit of the eventsaggregate. minimum: 0 additionalProperties: true '401': description: Unauthorized '404': description: Not found '500': description: Server error /api/events/list: get: x-internal: - cloud tags: - Events_events operationId: getEvents summary: Get events list 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: filter in: query description: Get filtered reponses schema: type: string responses: '200': description: Events page content: application/json: schema: type: object 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 data: type: array items: type: object additionalProperties: false description: EventResult entity schema. properties: user_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: user_id json: user_id x-go-name: UserID x-go-type-skip-optional-pointer: true system_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: system_id x-go-name: SystemID x-go-type-skip-optional-pointer: true 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 firstName: type: string description: The first name of the event. maxLength: 500 lastName: type: string description: The last name of the event. maxLength: 500 email: type: string format: email description: email x-go-type-skip-optional-pointer: true provider: type: string description: One of (x-oapi-codegen-extra-tags-cloud, github, google) x-go-type-skip-optional-pointer: true 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 required: - user_id - category - action description: The data of the eventspage. '401': description: Unauthorized '404': description: Not found '500': description: Server error /api/events/summary: get: x-internal: - cloud tags: - Events_events operationId: getEventSummaryByUser summary: Get event summary by 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: filter in: query description: Get filtered reponses schema: type: string responses: '200': description: Event summary page content: application/json: schema: type: object 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 additionalProperties: true description: The data of the eventsummarypage. '401': description: Unauthorized '404': description: Not found '500': description: Server error /api/events/types: get: x-internal: - cloud tags: - Events_events operationId: getEventTypes summary: Get event types 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 responses: '200': description: Event types content: application/json: schema: type: array items: type: object properties: category: type: string description: The category of the eventtype. maxLength: 500 action: type: string description: The action of the eventtype. maxLength: 500 '401': description: Unauthorized '404': description: Not found '500': description: Server error /api/organizations/invitations/{invitationId}: get: x-internal: - cloud operationId: getInvitation tags: - Invitation_Invitation summary: Get an invitation by ID parameters: - name: invitationId in: path required: true description: The ID of the invitation schema: type: string responses: '200': content: application/json: schema: type: object additionalProperties: false description: Invitation entity schema. required: - id - owner_id - name - description - org_id - accepted_by - emails - roles - teams - status - created_at - updated_at - deleted_at properties: id: x-go-name: ID description: Unique identifier for the invitation , is also used as the invitation code type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner_id: description: >- ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes x-oapi-codegen-extra-tags: db: owner_id json: owner_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid is_default: type: boolean description: >- Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation x-oapi-codegen-extra-tags: db: is_default json: is_default name: type: string description: >- Name of the invitation, which can be used to identify the invitation, required and cant be empty string, minLength: 1 maxLength: 255 description: type: string description: >- Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: >- Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses description: The emails of the invitation. org_id: description: ID of the organization to which the user is invited x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid expires_at: type: string format: date-time description: >- Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire x-oapi-codegen-extra-tags: db: expires_at json: expires_at quota: type: integer description: >- Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota minimum: 0 accepted_by: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet x-oapi-codegen-extra-tags: db: accepted_by json: accepted_by roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. created_at: type: string format: date-time description: Timestamp when the invitation was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: type: string format: date-time description: Timestamp when the invitation was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: type: string format: date-time x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core description: Timestamp when the invitation was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: 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 operationId: deleteInvitation tags: - Invitation_Invitation summary: Delete an invitation by ID parameters: - name: invitationId in: path required: true description: The ID of the invitation schema: type: string responses: '204': description: Invitation 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 operationId: updateInvitation tags: - Invitation_Invitation summary: Update an existing invitation parameters: - name: invitationId in: path required: true description: The ID of the invitation schema: type: string requestBody: content: application/json: schema: type: object description: Payload for creating or updating an invitation. required: - name - description - org_id - emails - roles - teams - status properties: id: x-go-name: ID description: Existing invitation ID for updates; omit on create. 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 owner_id: description: ID of the user who created the invitation. x-oapi-codegen-extra-tags: db: owner_id json: owner_id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid is_default: type: boolean description: Indicates whether the invitation is a default invitation (open invite). x-oapi-codegen-extra-tags: db: is_default json: is_default,omitempty name: type: string description: Name of the invitation. minLength: 1 maxLength: 255 description: type: string description: Description of the invitation. maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: The emails of the invitation. org_id: type: string description: ID of the organization to which the user is invited. x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid expires_at: type: string format: date-time description: Timestamp when the invitation expires, if applicable. x-oapi-codegen-extra-tags: db: expires_at json: expires_at,omitempty quota: type: integer description: Quota for the invitation. minimum: 0 roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. required: true responses: '200': content: application/json: schema: type: object additionalProperties: false description: Invitation entity schema. required: - id - owner_id - name - description - org_id - accepted_by - emails - roles - teams - status - created_at - updated_at - deleted_at properties: id: x-go-name: ID description: Unique identifier for the invitation , is also used as the invitation code type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner_id: description: >- ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes x-oapi-codegen-extra-tags: db: owner_id json: owner_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid is_default: type: boolean description: >- Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation x-oapi-codegen-extra-tags: db: is_default json: is_default name: type: string description: >- Name of the invitation, which can be used to identify the invitation, required and cant be empty string, minLength: 1 maxLength: 255 description: type: string description: >- Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: >- Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses description: The emails of the invitation. org_id: description: ID of the organization to which the user is invited x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid expires_at: type: string format: date-time description: >- Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire x-oapi-codegen-extra-tags: db: expires_at json: expires_at quota: type: integer description: >- Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota minimum: 0 accepted_by: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet x-oapi-codegen-extra-tags: db: accepted_by json: accepted_by roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. created_at: type: string format: date-time description: Timestamp when the invitation was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: type: string format: date-time description: Timestamp when the invitation was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: type: string format: date-time x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core description: Timestamp when the invitation was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: 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 /api/organizations/invitations: get: x-internal: - cloud operationId: getInvitations tags: - Invitation_Invitation summary: Get all invitations for the organization responses: '200': content: application/json: schema: type: object required: - data - total properties: data: type: array items: type: object additionalProperties: false description: Invitation entity schema. required: - id - owner_id - name - description - org_id - accepted_by - emails - roles - teams - status - created_at - updated_at - deleted_at properties: id: x-go-name: ID description: Unique identifier for the invitation , is also used as the invitation code type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner_id: description: >- ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes x-oapi-codegen-extra-tags: db: owner_id json: owner_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid is_default: type: boolean description: >- Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation x-oapi-codegen-extra-tags: db: is_default json: is_default name: type: string description: >- Name of the invitation, which can be used to identify the invitation, required and cant be empty string, minLength: 1 maxLength: 255 description: type: string description: >- Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: >- Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses description: The emails of the invitation. org_id: description: ID of the organization to which the user is invited x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid expires_at: type: string format: date-time description: >- Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire x-oapi-codegen-extra-tags: db: expires_at json: expires_at quota: type: integer description: >- Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota minimum: 0 accepted_by: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet x-oapi-codegen-extra-tags: db: accepted_by json: accepted_by roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. created_at: type: string format: date-time description: Timestamp when the invitation was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: type: string format: date-time description: Timestamp when the invitation was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: type: string format: date-time x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core description: Timestamp when the invitation was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at x-go-type: Invitation description: List of invitations x-oapi-codegen-extra-tags: json: data total: type: integer description: Total number of invitations available x-oapi-codegen-extra-tags: json: total minimum: 0 '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 operationId: createInvitation tags: - Invitation_Invitation summary: Create a new invitation for the organization requestBody: content: application/json: schema: type: object description: Payload for creating or updating an invitation. required: - name - description - org_id - emails - roles - teams - status properties: id: x-go-name: ID description: Existing invitation ID for updates; omit on create. 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 owner_id: description: ID of the user who created the invitation. x-oapi-codegen-extra-tags: db: owner_id json: owner_id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid is_default: type: boolean description: Indicates whether the invitation is a default invitation (open invite). x-oapi-codegen-extra-tags: db: is_default json: is_default,omitempty name: type: string description: Name of the invitation. minLength: 1 maxLength: 255 description: type: string description: Description of the invitation. maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: The emails of the invitation. org_id: type: string description: ID of the organization to which the user is invited. x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid expires_at: type: string format: date-time description: Timestamp when the invitation expires, if applicable. x-oapi-codegen-extra-tags: db: expires_at json: expires_at,omitempty quota: type: integer description: Quota for the invitation. minimum: 0 roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. required: true responses: '201': content: application/json: schema: type: object additionalProperties: false description: Invitation entity schema. required: - id - owner_id - name - description - org_id - accepted_by - emails - roles - teams - status - created_at - updated_at - deleted_at properties: id: x-go-name: ID description: Unique identifier for the invitation , is also used as the invitation code type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner_id: description: >- ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes x-oapi-codegen-extra-tags: db: owner_id json: owner_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid is_default: type: boolean description: >- Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation x-oapi-codegen-extra-tags: db: is_default json: is_default name: type: string description: >- Name of the invitation, which can be used to identify the invitation, required and cant be empty string, minLength: 1 maxLength: 255 description: type: string description: >- Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: >- Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses description: The emails of the invitation. org_id: description: ID of the organization to which the user is invited x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid expires_at: type: string format: date-time description: >- Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire x-oapi-codegen-extra-tags: db: expires_at json: expires_at quota: type: integer description: >- Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota minimum: 0 accepted_by: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet x-oapi-codegen-extra-tags: db: accepted_by json: accepted_by roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. created_at: type: string format: date-time description: Timestamp when the invitation was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: type: string format: date-time description: Timestamp when the invitation was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: type: string format: date-time x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core description: Timestamp when the invitation was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: 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 /api/organizations/invitations/{invitationId}/accept: post: x-internal: - cloud operationId: acceptInvitation tags: - Invitation_Invitation summary: Accept an invitation by ID parameters: - name: invitationId in: path required: true description: The ID of the invitation schema: type: string responses: '200': content: application/json: schema: type: object additionalProperties: false description: Invitation entity schema. required: - id - owner_id - name - description - org_id - accepted_by - emails - roles - teams - status - created_at - updated_at - deleted_at properties: id: x-go-name: ID description: Unique identifier for the invitation , is also used as the invitation code type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner_id: description: >- ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes x-oapi-codegen-extra-tags: db: owner_id json: owner_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid is_default: type: boolean description: >- Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation x-oapi-codegen-extra-tags: db: is_default json: is_default name: type: string description: >- Name of the invitation, which can be used to identify the invitation, required and cant be empty string, minLength: 1 maxLength: 255 description: type: string description: >- Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: >- Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses description: The emails of the invitation. org_id: description: ID of the organization to which the user is invited x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid expires_at: type: string format: date-time description: >- Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire x-oapi-codegen-extra-tags: db: expires_at json: expires_at quota: type: integer description: >- Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota minimum: 0 accepted_by: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet x-oapi-codegen-extra-tags: db: accepted_by json: accepted_by roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. created_at: type: string format: date-time description: Timestamp when the invitation was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: type: string format: date-time description: Timestamp when the invitation was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: type: string format: date-time x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core description: Timestamp when the invitation was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: 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 /api/identity/orgs/{orgId}/users/invite: post: x-internal: - cloud operationId: handleUserInvite tags: - Invitation_Invitation summary: Invite users to an organization parameters: - name: orgId in: path required: true description: The ID of the organization schema: type: string requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Invitation request accepted content: application/json: schema: type: object additionalProperties: 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/users/request: post: x-internal: - cloud operationId: signupRequest tags: - Invitation_Invitation summary: Create a signup request security: [] requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '201': description: Signup request created content: application/json: schema: type: object additionalProperties: 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 operationId: getSignupRequests tags: - Invitation_Invitation summary: Get signup requests 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: filter in: query description: Get filtered reponses schema: type: string responses: '200': description: Signup requests page content: application/json: schema: type: object 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 additionalProperties: true description: The data of the signuprequestspage. '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/request/approve: post: x-internal: - cloud operationId: approveSignupRequest tags: - Invitation_Invitation summary: Approve a signup request responses: '200': description: Signup request approved content: application/json: schema: type: object additionalProperties: 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/users/request/deny: post: x-internal: - cloud operationId: denySignupRequest tags: - Invitation_Invitation summary: Deny a signup request responses: '200': description: Signup request denied content: application/json: schema: type: object additionalProperties: 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/users/request/notification: get: x-internal: - cloud operationId: getSignupRequestNotification tags: - Invitation_Invitation summary: Get signup request notification summary responses: '200': description: Signup request notification payload content: application/json: schema: type: object additionalProperties: true '204': description: No pending signup request notifications '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/entitlement/plans: get: x-internal: - cloud operationId: getPlans tags: - Plan_Plans summary: Get all plans supported by the system 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 responses: '200': description: Plans response content: application/json: schema: type: array items: type: object additionalProperties: false description: Plan entity schema. required: - id - name - cadence - unit - price_per_unit - minimum_units - currency properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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: x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name type: string description: Name of the plan x-enum-casing-exempt: true enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - none - monthly - annually unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units minimum: 0 price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit minimum: 0 currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd '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/entitlement/subscriptions: get: x-internal: - cloud tags: - Subscription_Subscriptions description: Returns all subscriptions for the organization operationId: getSubscriptions summary: Read subscriptions security: - Subscription_jwt: [] 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: order in: query description: Get ordered responses schema: type: string - name: status in: query description: Filter subscriptions by status required: false schema: type: array items: type: string style: form explode: true responses: '200': content: application/json: schema: type: object required: - page - page_size - total_count - subscriptions 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 subscriptions: type: array items: x-go-type: Subscription type: object additionalProperties: false description: Subscription entity schema. required: - id - org_id - plan_id - billing_id - status - quantity properties: id: x-oapi-codegen-extra-tags: db: 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 org_id: x-oapi-codegen-extra-tags: db: org_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 plan_id: x-oapi-codegen-extra-tags: db: plan_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 plan: x-go-type: planv1beta2.Plan x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/plan name: planv1beta2 x-oapi-codegen-extra-tags: belongs_to: plans fk_id: PlanId json: plan,omitempty type: object additionalProperties: false description: Plan entity schema. required: - id - name - cadence - unit - price_per_unit - minimum_units - currency properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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: x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name type: string description: Name of the plan x-enum-casing-exempt: true enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - none - monthly - annually unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units minimum: 0 price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit minimum: 0 currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd quantity: description: number of units subscribed (eg number of users) type: integer x-oapi-codegen-extra-tags: db: quantity minimum: 0 start_date: x-oapi-codegen-extra-tags: db: start_date type: string format: date-time x-go-type-skip-optional-pointer: true end_date: x-oapi-codegen-extra-tags: db: end_date type: string format: date-time x-go-type-skip-optional-pointer: true status: x-go-type: SubscriptionStatus x-oapi-codegen-extra-tags: db: status type: string description: Possible statuses of a Stripe subscription. enum: - incomplete - incomplete_expired - trialing - active - past_due - canceled - unpaid x-enumDescriptions: incomplete: >- The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'. incomplete_expired: >- The subscription was created but never activated due to failed initial payment. It is now expired. trialing: The subscription is currently in a trial period before the first payment is due. active: The subscription is active, and billing is functioning normally. past_due: >- The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge. canceled: The subscription has been canceled and will no longer generate invoices. unpaid: >- The subscription is still technically active but has unpaid invoices and is no longer generating new invoices. created_at: x-oapi-codegen-extra-tags: db: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: x-oapi-codegen-extra-tags: db: deleted_at type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true billing_id: type: string description: >- Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe x-id-format: external x-oapi-codegen-extra-tags: db: billing_id maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ description: Subscriptions returned in the current page of results. description: Get subscription response '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/entitlement/subscriptions/{subscriptionId}/cancel: post: x-internal: - cloud tags: - Subscription_Subscriptions operationId: cancelSubscription summary: >- Cancel an existing subscription. The subscription will remain active until the end of the billing period and then it will be canceled. security: - Subscription_jwt: [] parameters: - name: subscriptionId in: path required: true description: Subscription ID schema: type: string responses: '200': content: application/json: schema: type: object required: - page - page_size - total_count - subscriptions 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 subscriptions: type: array items: x-go-type: Subscription type: object additionalProperties: false description: Subscription entity schema. required: - id - org_id - plan_id - billing_id - status - quantity properties: id: x-oapi-codegen-extra-tags: db: 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 org_id: x-oapi-codegen-extra-tags: db: org_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 plan_id: x-oapi-codegen-extra-tags: db: plan_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 plan: x-go-type: planv1beta2.Plan x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/plan name: planv1beta2 x-oapi-codegen-extra-tags: belongs_to: plans fk_id: PlanId json: plan,omitempty type: object additionalProperties: false description: Plan entity schema. required: - id - name - cadence - unit - price_per_unit - minimum_units - currency properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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: x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name type: string description: Name of the plan x-enum-casing-exempt: true enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - none - monthly - annually unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units minimum: 0 price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit minimum: 0 currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd quantity: description: number of units subscribed (eg number of users) type: integer x-oapi-codegen-extra-tags: db: quantity minimum: 0 start_date: x-oapi-codegen-extra-tags: db: start_date type: string format: date-time x-go-type-skip-optional-pointer: true end_date: x-oapi-codegen-extra-tags: db: end_date type: string format: date-time x-go-type-skip-optional-pointer: true status: x-go-type: SubscriptionStatus x-oapi-codegen-extra-tags: db: status type: string description: Possible statuses of a Stripe subscription. enum: - incomplete - incomplete_expired - trialing - active - past_due - canceled - unpaid x-enumDescriptions: incomplete: >- The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'. incomplete_expired: >- The subscription was created but never activated due to failed initial payment. It is now expired. trialing: The subscription is currently in a trial period before the first payment is due. active: The subscription is active, and billing is functioning normally. past_due: >- The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge. canceled: The subscription has been canceled and will no longer generate invoices. unpaid: >- The subscription is still technically active but has unpaid invoices and is no longer generating new invoices. created_at: x-oapi-codegen-extra-tags: db: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: x-oapi-codegen-extra-tags: db: deleted_at type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true billing_id: type: string description: >- Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe x-id-format: external x-oapi-codegen-extra-tags: db: billing_id maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ description: Subscriptions returned in the current page of results. '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/entitlement/subscriptions/create: post: x-internal: - cloud tags: - Subscription_Subscriptions operationId: createSubscription summary: Create a new subscription for an organization security: - Subscription_jwt: [] requestBody: required: true content: application/json: schema: type: object properties: orgId: description: Organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid planId: type: string description: Price ID from the payment processor x-id-format: external maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ couponId: type: string description: Coupon ID to apply x-id-format: external maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ userCount: type: integer description: Number of users in the organization minimum: 0 email: type: string format: email description: Email of the customer paymentProcessor: type: string enum: - stripe - paypal - braintree description: Supported payment processors responses: '201': description: A new subscription has been created content: application/json: schema: type: object properties: subscriptionId: type: string description: ID of the associated subscription. x-id-format: external maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ clientSecret: type: string description: Client secret returned by the payment processor for the subscription checkout flow. maxLength: 500 '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/entitlement/subscriptions/{subscriptionId}/upgrade: post: x-internal: - cloud tags: - Subscription_Subscriptions operationId: upgradeSubscription summary: Upgrade or downgrade an existing subscription by changing one of the plans in the subscription security: - Subscription_jwt: [] parameters: - name: subscriptionId in: path required: true description: Subscription ID schema: type: string requestBody: required: true content: application/json: schema: type: object properties: oldPlanId: description: Old Plan id that is being changed type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid newPlanId: description: New Plan id that is being changed to type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid responses: '200': content: application/json: schema: type: object additionalProperties: false description: Subscription entity schema. required: - id - org_id - plan_id - billing_id - status - quantity properties: id: x-oapi-codegen-extra-tags: db: 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 org_id: x-oapi-codegen-extra-tags: db: org_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 plan_id: x-oapi-codegen-extra-tags: db: plan_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 plan: x-go-type: planv1beta2.Plan x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/plan name: planv1beta2 x-oapi-codegen-extra-tags: belongs_to: plans fk_id: PlanId json: plan,omitempty type: object additionalProperties: false description: Plan entity schema. required: - id - name - cadence - unit - price_per_unit - minimum_units - currency properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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: x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name type: string description: Name of the plan x-enum-casing-exempt: true enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - none - monthly - annually unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units minimum: 0 price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit minimum: 0 currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd quantity: description: number of units subscribed (eg number of users) type: integer x-oapi-codegen-extra-tags: db: quantity minimum: 0 start_date: x-oapi-codegen-extra-tags: db: start_date type: string format: date-time x-go-type-skip-optional-pointer: true end_date: x-oapi-codegen-extra-tags: db: end_date type: string format: date-time x-go-type-skip-optional-pointer: true status: x-go-type: SubscriptionStatus x-oapi-codegen-extra-tags: db: status type: string description: Possible statuses of a Stripe subscription. enum: - incomplete - incomplete_expired - trialing - active - past_due - canceled - unpaid x-enumDescriptions: incomplete: >- The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'. incomplete_expired: >- The subscription was created but never activated due to failed initial payment. It is now expired. trialing: The subscription is currently in a trial period before the first payment is due. active: The subscription is active, and billing is functioning normally. past_due: >- The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge. canceled: The subscription has been canceled and will no longer generate invoices. unpaid: >- The subscription is still technically active but has unpaid invoices and is no longer generating new invoices. created_at: x-oapi-codegen-extra-tags: db: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: x-oapi-codegen-extra-tags: db: deleted_at type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true billing_id: type: string description: >- Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe x-id-format: external x-oapi-codegen-extra-tags: db: billing_id maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ '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/entitlement/subscriptions/{subscriptionId}/upgrade-preview: post: x-internal: - cloud tags: - Subscription_Subscriptions operationId: previewSubscriptionUpgrade summary: >- Preview the invoice for upgrading or downgrading an existing subscription by changing one of the plans in the subscription security: - Subscription_jwt: [] parameters: - name: subscriptionId in: path required: true description: Subscription ID schema: type: string requestBody: required: true content: application/json: schema: type: object properties: oldPlanId: description: Old Plan id that is being changed type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid newPlanId: description: New Plan id that is being changed to type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid responses: '200': description: Preview of the upgraded subscription invoice content: application/json: schema: type: object '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/entitlement/subscriptions/webhooks: post: x-internal: - cloud tags: - Subscription_Payment Processors operationId: handleSubscriptionWebhook summary: Handle webhook events from payment processors security: [] requestBody: required: true content: application/json: schema: type: object description: Payload for webhook events from payment processors responses: '200': description: Webhook processed '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/tokens: get: x-internal: - cloud tags: - token_tokens summary: Get tokens operationId: getUserTokens description: Retrieves tokens associated with the authenticated user. parameters: - name: isOAuth in: query description: Whether to retrieve OAuth-backed sessions instead of API tokens. schema: type: boolean - 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: Tokens response content: application/json: schema: type: object description: A paginated list of tokens. required: - tokens - total_count - page - page_size properties: tokens: type: array items: x-go-type: UserToken type: object additionalProperties: false description: Represents a user-owned API token or OAuth session. properties: id: description: Unique identifier for the token. 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 user_id: description: UUID of the user who owns the token. x-order: 2 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 provider: type: string description: Authentication provider associated with the token. x-order: 3 x-oapi-codegen-extra-tags: db: provider maxLength: 500 access_token: type: string description: Access token value. x-order: 4 x-oapi-codegen-extra-tags: db: access_token maxLength: 4096 refresh_token: type: string description: Refresh token value when applicable. x-order: 5 x-oapi-codegen-extra-tags: db: refresh_token maxLength: 4096 name: type: string description: Human-readable token name. x-order: 6 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 purpose: type: string description: Purpose for which the token was created. x-order: 7 x-oapi-codegen-extra-tags: db: purpose maxLength: 500 is_oauth: type: boolean description: Whether this entry represents an OAuth session. x-order: 8 x-oapi-codegen-extra-tags: db: is_oauth created_at: x-order: 9 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: 10 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 - user_id - provider x-order: 1 description: The tokens of the tokenpage. total_count: type: integer description: Total number of tokens 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 tokens 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 tags: - token_tokens summary: Generate token operationId: generateToken description: Generates a token for the authenticated user. parameters: - name: name in: query description: Name of the token. required: true schema: type: string - name: purpose in: query description: Purpose for which the token is generated. schema: type: string responses: '200': description: Token generated content: application/json: schema: type: object description: A paginated list of tokens. required: - tokens - total_count - page - page_size properties: tokens: type: array items: x-go-type: UserToken type: object additionalProperties: false description: Represents a user-owned API token or OAuth session. properties: id: description: Unique identifier for the token. 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 user_id: description: UUID of the user who owns the token. x-order: 2 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 provider: type: string description: Authentication provider associated with the token. x-order: 3 x-oapi-codegen-extra-tags: db: provider maxLength: 500 access_token: type: string description: Access token value. x-order: 4 x-oapi-codegen-extra-tags: db: access_token maxLength: 4096 refresh_token: type: string description: Refresh token value when applicable. x-order: 5 x-oapi-codegen-extra-tags: db: refresh_token maxLength: 4096 name: type: string description: Human-readable token name. x-order: 6 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 purpose: type: string description: Purpose for which the token was created. x-order: 7 x-oapi-codegen-extra-tags: db: purpose maxLength: 500 is_oauth: type: boolean description: Whether this entry represents an OAuth session. x-order: 8 x-oapi-codegen-extra-tags: db: is_oauth created_at: x-order: 9 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: 10 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 - user_id - provider x-order: 1 description: The tokens of the tokenpage. total_count: type: integer description: Total number of tokens 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 tokens per page. x-order: 4 minimum: 1 '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 delete: x-internal: - cloud tags: - token_tokens summary: Delete token operationId: deleteUserToken description: Deletes a specific token for the authenticated user. parameters: - name: tokenId in: query description: ID of the token. 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: Token deleted content: application/json: schema: type: object description: A paginated list of tokens. required: - tokens - total_count - page - page_size properties: tokens: type: array items: x-go-type: UserToken type: object additionalProperties: false description: Represents a user-owned API token or OAuth session. properties: id: description: Unique identifier for the token. 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 user_id: description: UUID of the user who owns the token. x-order: 2 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 provider: type: string description: Authentication provider associated with the token. x-order: 3 x-oapi-codegen-extra-tags: db: provider maxLength: 500 access_token: type: string description: Access token value. x-order: 4 x-oapi-codegen-extra-tags: db: access_token maxLength: 4096 refresh_token: type: string description: Refresh token value when applicable. x-order: 5 x-oapi-codegen-extra-tags: db: refresh_token maxLength: 4096 name: type: string description: Human-readable token name. x-order: 6 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 purpose: type: string description: Purpose for which the token was created. x-order: 7 x-oapi-codegen-extra-tags: db: purpose maxLength: 500 is_oauth: type: boolean description: Whether this entry represents an OAuth session. x-order: 8 x-oapi-codegen-extra-tags: db: is_oauth created_at: x-order: 9 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: 10 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 - user_id - provider x-order: 1 description: The tokens of the tokenpage. total_count: type: integer description: Total number of tokens 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 tokens per page. x-order: 4 minimum: 1 '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/tokens/{id}: get: x-internal: - cloud tags: - token_tokens summary: Get token by ID operationId: getUserTokensById description: Retrieves a specific token by its ID. parameters: - name: id in: path description: Token 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: Token response content: application/json: schema: type: object additionalProperties: false description: Represents a user-owned API token or OAuth session. properties: id: description: Unique identifier for the token. 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 user_id: description: UUID of the user who owns the token. x-order: 2 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 provider: type: string description: Authentication provider associated with the token. x-order: 3 x-oapi-codegen-extra-tags: db: provider maxLength: 500 access_token: type: string description: Access token value. x-order: 4 x-oapi-codegen-extra-tags: db: access_token maxLength: 4096 refresh_token: type: string description: Refresh token value when applicable. x-order: 5 x-oapi-codegen-extra-tags: db: refresh_token maxLength: 4096 name: type: string description: Human-readable token name. x-order: 6 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 purpose: type: string description: Purpose for which the token was created. x-order: 7 x-oapi-codegen-extra-tags: db: purpose maxLength: 500 is_oauth: type: boolean description: Whether this entry represents an OAuth session. x-order: 8 x-oapi-codegen-extra-tags: db: is_oauth created_at: x-order: 9 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: 10 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 - user_id - provider '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/tokens/infinite: get: x-internal: - cloud tags: - token_tokens summary: Issue indefinite lifetime token operationId: issueIndefiniteLifetimeToken description: Creates a non-expiring user token for provider admin use cases. parameters: - name: userId in: query description: UUID of the user. 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: provider in: query description: Remote provider. required: true schema: type: string responses: '200': description: Token generated content: application/json: schema: type: object description: A paginated list of tokens. required: - tokens - total_count - page - page_size properties: tokens: type: array items: x-go-type: UserToken type: object additionalProperties: false description: Represents a user-owned API token or OAuth session. properties: id: description: Unique identifier for the token. 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 user_id: description: UUID of the user who owns the token. x-order: 2 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 provider: type: string description: Authentication provider associated with the token. x-order: 3 x-oapi-codegen-extra-tags: db: provider maxLength: 500 access_token: type: string description: Access token value. x-order: 4 x-oapi-codegen-extra-tags: db: access_token maxLength: 4096 refresh_token: type: string description: Refresh token value when applicable. x-order: 5 x-oapi-codegen-extra-tags: db: refresh_token maxLength: 4096 name: type: string description: Human-readable token name. x-order: 6 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 purpose: type: string description: Purpose for which the token was created. x-order: 7 x-oapi-codegen-extra-tags: db: purpose maxLength: 500 is_oauth: type: boolean description: Whether this entry represents an OAuth session. x-order: 8 x-oapi-codegen-extra-tags: db: is_oauth created_at: x-order: 9 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: 10 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 - user_id - provider x-order: 1 description: The tokens of the tokenpage. total_count: type: integer description: Total number of tokens 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 tokens per page. x-order: 4 minimum: 1 '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 components: schemas: Catalog_CatalogData: type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - type Relationship_RelationshipDefinition: 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 additionalProperties: false required: - schemaVersion - version - model - kind - type - subType - id properties: id: description: Uniquely identifies the entity x-go-type-skip-optional-pointer: true x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_id: x-go-type-skip-optional-pointer: true x-go-name: ModelId x-order: 7 description: Foreign key reference to the model x-oapi-codegen-extra-tags: json: '-' gorm: index:idx_relationship_definition_dbs_model_id,column:model_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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 maxLength: 500 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: json: to Relationship_MatchSelectorItem: type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: json: mutatedRef,omitempty type: array items: type: array items: type: string description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. Relationship_MatchSelector: type: object description: Match configuration for selector properties: refs: type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. x-oapi-codegen-extra-tags: json: match,omitempty Relationship_RelationshipDefinition_Selectors_Patch: x-go-name: RelationshipDefinition_Selectors_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. Relationship_SelectorItem: type: object description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning. properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: json: mutatedRef,omitempty type: array items: type: array items: type: string description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. Relationship_Selector: type: object description: >- Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match. 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: json: to Relationship_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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: json: to Relationship_SelectorSet: 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. x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. from: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. to: type: array items: x-go-type: MatchSelectorItem type: object description: Match selector item for binding between nodes required: - kind properties: id: x-oapi-codegen-extra-tags: json: 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 kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: json: to Relationship_Relationship_Metadata: x-go-name: Relationship_Metadata type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json 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 Relationship_RelationshipDefinitionMetadataStyles: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 Badge_BadgePayload: type: object description: Payload for creating or updating a badge. required: - label - name - org_id - description - image_url properties: id: x-go-name: ID description: Existing badge ID for updates; omit on create. x-oapi-codegen-extra-tags: db: id json: id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid org_id: description: The ID of the organization in which this badge is available. x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid label: type: string description: unique identifier for the badge ( auto generated ) example: Kubernetes-Expert x-oapi-codegen-extra-tags: db: label json: label maxLength: 500 name: type: string description: Concise descriptor for the badge or certificate. example: Kubernetes Expert x-oapi-codegen-extra-tags: db: name json: name minLength: 1 maxLength: 255 description: type: string description: A description of the milestone achieved, often including criteria for receiving this recognition. example: Awarded for mastering Kubernetes concepts and practices. x-oapi-codegen-extra-tags: db: description json: description maxLength: 5000 image_url: type: string format: uri description: URL to the badge image example: >- https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp x-oapi-codegen-extra-tags: db: image_url json: image_url Badge_Badge: type: object required: - id - label - name - org_id - description - image_url - created_at - updated_at - deleted_at properties: id: x-go-name: ID x-oapi-codegen-extra-tags: db: id json: 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 org_id: description: The ID of the organization in which this badge is available . x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid label: type: string description: unique identifier for the badge ( auto generated ) example: Kubernetes-Expert x-oapi-codegen-extra-tags: db: label json: label maxLength: 500 name: type: string description: Concise descriptor for the badge or certificate. example: Kubernetes Expert x-oapi-codegen-extra-tags: db: name json: name minLength: 1 maxLength: 255 description: type: string description: A description of the milestone achieved, often including criteria for receiving this recognition. example: Awarded for mastering Kubernetes concepts and practices. x-oapi-codegen-extra-tags: db: description json: description maxLength: 5000 image_url: type: string format: uri description: URL to the badge image example: >- https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp x-oapi-codegen-extra-tags: db: image_url json: image_url 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: type: string format: date-time x-go-type: core.NullTime description: Timestamp when the resource was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at Badge_BadgesPage: type: object properties: badges: type: object additionalProperties: type: object required: - id - label - name - org_id - description - image_url - created_at - updated_at - deleted_at properties: id: x-go-name: ID x-oapi-codegen-extra-tags: db: id json: 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 org_id: description: The ID of the organization in which this badge is available . x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid label: type: string description: unique identifier for the badge ( auto generated ) example: Kubernetes-Expert x-oapi-codegen-extra-tags: db: label json: label maxLength: 500 name: type: string description: Concise descriptor for the badge or certificate. example: Kubernetes Expert x-oapi-codegen-extra-tags: db: name json: name minLength: 1 maxLength: 255 description: type: string description: A description of the milestone achieved, often including criteria for receiving this recognition. example: Awarded for mastering Kubernetes concepts and practices. x-oapi-codegen-extra-tags: db: description json: description maxLength: 5000 image_url: type: string format: uri description: URL to the badge image example: >- https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp x-oapi-codegen-extra-tags: db: image_url json: image_url 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: type: string format: date-time x-go-type: core.NullTime description: Timestamp when the resource was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at description: The badges of the badgespage. Badge_BadgeAssignmentPayload: type: object properties: badges: type: array items: type: string description: The badges of the badgeassignment. user_id: type: string description: ID of the user who owns or created this resource. maxLength: 500 format: uuid notify: type: boolean description: The notify of the badgeassignment. Category_CategoryDefinition: $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: 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 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 credential_Credential: type: object description: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - name - type 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 user_id: 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 created_at: x-order: 6 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: 7 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 credential was soft-deleted. x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at 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 credential_CredentialPage: 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 description: > Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to external systems. required: - name - type 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 user_id: 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 created_at: x-order: 6 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: 7 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 credential was soft-deleted. x-order: 8 x-oapi-codegen-extra-tags: db: deleted_at 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 x-order: 1 description: The credentials of the credentialpage. 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 Environment_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/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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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 Environment_EnvironmentConnectionMapping: 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 environment_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: environment_id json: environment_id x-go-type-skip-optional-pointer: true description: ID of the associated environment. connection_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: connection_id json: connection_id x-go-type-skip-optional-pointer: true description: ID of the associated connection. created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: 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 Environment_EnvironmentPayload: 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 & credentail. 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 organization_id: 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: organization_id maxLength: 500 format: uuid required: - name - organization_id Environment_EnvironmentPage: 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 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/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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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 description: Environments associated with this resource. Environment_EnvironmentConnectionsPage: type: object 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 connections: type: array items: type: object additionalProperties: true description: The connections of the environmentconnectionspage. Evaluation_EvaluationRequest: 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. Evaluation_EvaluationResponse: 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. Evaluation_Action: 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. Evaluation_UpdateComponentOp: type: object properties: op: type: string enum: - update_component description: The op of the updatecomponentop. value: type: object required: - id - path - value properties: id: type: string format: uuid description: Identifier of the component to update. path: type: array description: Path to the field being updated on the component. items: type: string value: description: New value to write at the specified component path. mode: type: string description: Strategy to use when applying the component update value. enum: - replace - merge default: replace description: The value of the updatecomponentop. Evaluation_UpdateComponentConfigurationOp: type: object properties: op: type: string enum: - update_component_configuration description: The op of the updatecomponentconfigurationop. value: type: object required: - id - path - value properties: id: type: string format: uuid description: Identifier of the component whose configuration will be updated. path: type: array description: Path to the configuration field being updated. items: type: string value: description: New configuration value to write at the specified path. mode: type: string description: Strategy to use when applying the configuration update value. enum: - replace - merge default: replace description: The value of the updatecomponentconfigurationop. Evaluation_DeleteComponentOp: type: object properties: op: type: string enum: - delete_component description: The op of the deletecomponentop. value: type: object required: - id properties: id: type: string format: uuid description: Identifier of the component to delete. description: The value of the deletecomponentop. Evaluation_AddComponentOp: type: object properties: op: type: string enum: - add_component description: The op of the addcomponentop. value: type: object required: - item properties: item: type: object additionalProperties: true description: The value of the addcomponentop. Evaluation_UpdateRelationshipOp: type: object properties: op: type: string enum: - update_relationship description: The op of the updaterelationshipop. value: type: object required: - id - path - value properties: id: type: string format: uuid description: Identifier of the relationship to update. path: type: array description: Path to the field being updated on the relationship. items: type: string value: description: New value to write at the specified relationship path. description: The value of the updaterelationshipop. Evaluation_DeleteRelationshipOp: type: object properties: op: type: string enum: - delete_relationship description: The op of the deleterelationshipop. value: type: object required: - id properties: id: type: string format: uuid description: Identifier of the relationship to delete. description: The value of the deleterelationshipop. Evaluation_AddRelationshipOp: type: object properties: op: type: string enum: - add_relationship description: The op of the addrelationshipop. value: type: object required: - item properties: item: type: object additionalProperties: true description: The value of the addrelationshipop. Evaluation_ComponentDeclaration: type: object additionalProperties: true Evaluation_RelationshipDeclaration: type: object additionalProperties: true Feature_FeaturesPage: type: array items: x-go-type: Feature type: object required: - id - plan_id - quantity - name properties: id: x-oapi-codegen-extra-tags: db: 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 plan_id: x-oapi-codegen-extra-tags: db: plan_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 plan: x-go-type: planv1beta1.Plan x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/plan name: planv1beta1 x-oapi-codegen-extra-tags: belongs_to: plans fk_id: PlanId json: plan,omitempty type: object properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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 x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name description: Name of the plan enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - monthly - yearly unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd required: - id - name - cadence - unit - price_per_unit - minimum_units - currency name: x-go-type: FeatureName x-oapi-codegen-extra-tags: db: name type: string x-enum-casing-exempt: true enum: - ComponentsInDesign - RelationshipsInDesign - DesignsInWorkspace - WorkspacesInOrganization - ImageSizeInDesign - SizePerDesign description: Enumeration of possible feature types quantity: type: number description: Quantity of the feature allowed, use 9999999999 for unlimited x-oapi-codegen-extra-tags: db: quantity minimum: 0 created_at: x-oapi-codegen-extra-tags: db: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at type: string format: date-time x-go-type-skip-optional-pointer: true additionalProperties: false Feature_FeatureName: type: string x-enum-casing-exempt: true enum: - ComponentsInDesign - RelationshipsInDesign - DesignsInWorkspace - WorkspacesInOrganization - ImageSizeInDesign - SizePerDesign description: Enumeration of possible feature types Feature_Feature: type: object required: - id - plan_id - quantity - name properties: id: x-oapi-codegen-extra-tags: db: 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 plan_id: x-oapi-codegen-extra-tags: db: plan_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 plan: x-go-type: planv1beta1.Plan x-go-type-import: path: github.com/meshery/schemas/models/v1beta1/plan name: planv1beta1 x-oapi-codegen-extra-tags: belongs_to: plans fk_id: PlanId json: plan,omitempty type: object properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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 x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name description: Name of the plan enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - monthly - yearly unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd required: - id - name - cadence - unit - price_per_unit - minimum_units - currency name: x-go-type: FeatureName x-oapi-codegen-extra-tags: db: name type: string x-enum-casing-exempt: true enum: - ComponentsInDesign - RelationshipsInDesign - DesignsInWorkspace - WorkspacesInOrganization - ImageSizeInDesign - SizePerDesign description: Enumeration of possible feature types quantity: type: number description: Quantity of the feature allowed, use 9999999999 for unlimited x-oapi-codegen-extra-tags: db: quantity minimum: 0 created_at: x-oapi-codegen-extra-tags: db: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at type: string format: date-time x-go-type-skip-optional-pointer: true additionalProperties: false Key_Key: type: object additionalProperties: false description: Represents an authorization key used for access control. required: - id - owner - function - category - subcategory - description - created_at - updated_at 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 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 x-order: 2 function: type: string description: Operation permitted by the key. x-oapi-codegen-extra-tags: db: function x-order: 3 maxLength: 500 category: type: string description: Category for the key. x-oapi-codegen-extra-tags: db: category x-order: 4 maxLength: 500 subcategory: type: string description: Subcategory for the key. x-oapi-codegen-extra-tags: db: subcategory x-order: 5 maxLength: 500 description: type: string description: Human readable description of the key. x-oapi-codegen-extra-tags: db: description x-order: 6 maxLength: 5000 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 updated_at: x-order: 8 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 9 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 Key_KeyPayload: type: object description: Payload for creating or updating a key. 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 function: type: string description: Operation permitted by the key. x-order: 2 maxLength: 500 category: type: string description: Category for the key. x-order: 3 maxLength: 500 subcategory: type: string description: Subcategory for the key. x-order: 4 maxLength: 500 description: type: string description: Human readable description of the key. x-order: 5 maxLength: 5000 Key_KeyPage: type: object required: - page - page_size - total_count - keys properties: page: x-order: 1 type: integer x-go-type-skip-optional-pointer: true page_size: x-order: 2 type: integer x-go-type-skip-optional-pointer: true total_count: x-order: 3 type: integer x-go-type-skip-optional-pointer: true keys: type: array items: type: object additionalProperties: false description: Represents an authorization key used for access control. required: - id - owner - function - category - subcategory - description - created_at - updated_at 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 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 x-order: 2 function: type: string description: Operation permitted by the key. x-oapi-codegen-extra-tags: db: function x-order: 3 maxLength: 500 category: type: string description: Category for the key. x-oapi-codegen-extra-tags: db: category x-order: 4 maxLength: 500 subcategory: type: string description: Subcategory for the key. x-oapi-codegen-extra-tags: db: subcategory x-order: 5 maxLength: 500 description: type: string description: Human readable description of the key. x-oapi-codegen-extra-tags: db: description x-order: 6 maxLength: 5000 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 updated_at: x-order: 8 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 9 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 x-order: 4 description: The keys of the keypage. Keychain_Keychain: type: object additionalProperties: false description: Represents a collection of keys. required: - id - name - owner - created_at - updated_at properties: id: description: Unique identifier for the keychain. x-go-name: ID x-oapi-codegen-extra-tags: db: id x-order: 1 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 keychain. minLength: 1 maxLength: 255 x-oapi-codegen-extra-tags: db: name x-order: 2 owner: description: Owner of the keychain. x-oapi-codegen-extra-tags: db: owner x-order: 3 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid created_at: x-order: 4 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: 5 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 6 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 Keychain_KeychainInput: type: object description: Input payload for creating or updating a keychain. required: - name properties: name: type: string description: Name of the keychain. x-order: 1 minLength: 1 maxLength: 255 owner: description: Owner of the keychain. x-order: 2 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid Keychain_KeychainPage: type: object required: - page - page_size - total_count - keychains properties: page: x-order: 1 type: integer x-go-type-skip-optional-pointer: true page_size: x-order: 2 type: integer x-go-type-skip-optional-pointer: true total_count: x-order: 3 type: integer x-go-type-skip-optional-pointer: true keychains: type: array items: type: object additionalProperties: false description: Represents a collection of keys. required: - id - name - owner - created_at - updated_at properties: id: description: Unique identifier for the keychain. x-go-name: ID x-oapi-codegen-extra-tags: db: id x-order: 1 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 keychain. minLength: 1 maxLength: 255 x-oapi-codegen-extra-tags: db: name x-order: 2 owner: description: Owner of the keychain. x-oapi-codegen-extra-tags: db: owner x-order: 3 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid created_at: x-order: 4 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: 5 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: x-oapi-codegen-extra-tags: db: deleted_at x-order: 6 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 x-order: 4 description: The keychains of the keychainpage. Model_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-]+)*)?$ Model_ModelDefinition: $id: https://schemas.meshery.io/model.yaml $schema: http://json-schema.org/draft-07/schema# description: >- Meshery Models serve as a portable unit of packaging to define managed entities, their relationships, and capabilities. additionalProperties: false type: object properties: id: description: Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 Model_RegistrantReference: type: object required: - kind properties: kind: type: string description: Kind of the registrant. maxLength: 255 Model_ModelReference: 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 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 Model_ImportRequest: 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 format: file 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. Model_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 format: file 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}) Model_MeshModelModelsPage: type: object 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 models: type: array items: type: object additionalProperties: true description: The models of the meshmodelmodelspage. Organization_UUID: 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 Organization_NullableTime: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true Organization_Time: type: string format: date-time x-go-type-skip-optional-pointer: true Organization_Text: type: string x-go-type-skip-optional-pointer: true Organization_MapObject: type: object additionalProperties: type: string x-go-type-skip-optional-pointer: true Organization_OrgTeamActionPayload: 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 Organization_Location: type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 Organization_Logo: type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 Organization_Theme: type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. Organization_DashboardPrefs: type: object description: Preferences specific to dashboard behavior additionalProperties: true Organization_Preferences: type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true Organization_OrgMetadata: type: object required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true Organization_Organization: type: object required: - id - name - country - region - description - owner - metadata - created_at - updated_at properties: id: x-oapi-codegen-extra-tags: db: 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 x-oapi-codegen-extra-tags: db: name description: Name of the organization. minLength: 1 maxLength: 255 country: type: string x-oapi-codegen-extra-tags: db: country description: The country of the organization. maxLength: 500 region: type: string x-oapi-codegen-extra-tags: db: region description: The region of the organization. maxLength: 500 description: type: string x-oapi-codegen-extra-tags: db: description description: Description of the organization. maxLength: 5000 owner: x-oapi-codegen-extra-tags: db: 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 metadata: x-go-type: OrgMetadata x-oapi-codegen-extra-tags: db: metadata type: object required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: created_at updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: updated_at deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: deleted_at domain: type: string nullable: true x-oapi-codegen-extra-tags: db: domain description: The domain of the organization. maxLength: 500 Organization_AvailableOrganization: type: object properties: id: x-go-name: 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 x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true owner: type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true Organization_OrganizationsPage: type: object 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 organizations: type: array items: type: object properties: id: x-go-name: 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 x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true owner: type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The organizations of the organizationspage. Organization_OrganizationPage: type: object description: Single-organization wrapper used by current meshery-cloud organization handlers. 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 organizations: type: array maxItems: 1 items: type: object properties: id: x-go-name: 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 x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true owner: type: string x-go-type-skip-optional-pointer: true metadata: x-go-type: OrgMetadata type: object required: - preferences properties: preferences: x-go-type: Preferences type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The organizations of the organizationpage. Organization_OrganizationPayload: type: object properties: name: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true notifyOrgUpdate: type: boolean description: The notify org update of the organization. preferences: type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true Organization_AvailableTeam: type: object 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 x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true owner: type: string x-go-type-skip-optional-pointer: true metadata: type: object additionalProperties: type: string x-go-type-skip-optional-pointer: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true Organization_TeamsPage: type: object 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 items: type: object 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 x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true owner: type: string x-go-type-skip-optional-pointer: true metadata: type: object additionalProperties: type: string x-go-type-skip-optional-pointer: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The teams of the teamspage. Organization_TeamsOrganizationsMapping: type: object 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 orgId: 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 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true Organization_TeamsOrganizationsMappingPage: type: object 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 teamsOrganizationsMapping: type: array items: type: object 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 orgId: 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 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true created_at: type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true description: The teams organizations mapping of the teamsorganizationsmappingpage. role_Role: type: object description: Role definition for Layer5 Cloud (Meshery). required: - role_name - description 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: db: id role_name: type: string description: Unique name of the role. x-order: 2 x-oapi-codegen-extra-tags: db: role_name maxLength: 500 description: type: string description: Human-readable description of the role. x-order: 3 x-oapi-codegen-extra-tags: db: description maxLength: 5000 created_at: x-order: 4 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: 5 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 role was soft-deleted. x-order: 6 x-oapi-codegen-extra-tags: db: deleted_at 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 role_RolesPage: type: object description: A paginated list of roles. required: - page - page_size - total_count - roles properties: page: type: integer description: Current page number (zero-based). x-order: 1 minimum: 0 page_size: type: integer description: Number of roles per page. x-order: 2 minimum: 1 total_count: type: integer description: Total number of roles across all pages. x-order: 3 minimum: 0 roles: type: array items: x-go-type: Role type: object description: Role definition for Layer5 Cloud (Meshery). required: - role_name - description 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: db: id role_name: type: string description: Unique name of the role. x-order: 2 x-oapi-codegen-extra-tags: db: role_name maxLength: 500 description: type: string description: Human-readable description of the role. x-order: 3 x-oapi-codegen-extra-tags: db: description maxLength: 5000 created_at: x-order: 4 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: 5 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 role was soft-deleted. x-order: 6 x-oapi-codegen-extra-tags: db: deleted_at 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 x-order: 4 description: The roles of the rolespage. role_RolesKeychainsMapping: type: object description: Mapping between a role and a keychain. required: - id - keychain_id - role_id - created_at - updated_at 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: db: id keychain_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: 2 x-oapi-codegen-extra-tags: db: keychain_id role_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: 3 x-oapi-codegen-extra-tags: db: role_id created_at: x-order: 4 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: 5 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: x-order: 6 x-oapi-codegen-extra-tags: db: deleted_at 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 role_RoleHolderRequest: type: object description: Request body for assigning a role to a user. required: - email - roleNames properties: email: type: string format: email description: Email of the user to assign roles to. x-order: 1 roleNames: type: array items: type: string description: List of role names to assign. x-order: 2 role_UserRoleUpdateRequest: type: object description: Request to update role assignments for a user. 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 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-order: 2 username: type: string x-order: 3 description: The username of the userroleupdaterequest. maxLength: 500 email: type: string format: email x-order: 4 description: Email address. firstName: type: string x-order: 5 description: The first name of the userroleupdaterequest. maxLength: 500 lastName: type: string x-order: 6 description: The last name of the userroleupdaterequest. maxLength: 500 status: type: string x-order: 7 description: Current status of the resource. maxLength: 255 roleNames: type: array items: type: string x-order: 8 description: The role names of the userroleupdaterequest. created_at: x-order: 9 type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-order: 10 type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: x-order: 11 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 role_Preference: type: object description: User notification preferences. required: - welcomeEmail - notifyRoleChange properties: welcomeEmail: type: boolean description: Whether to send a welcome email to new users. x-order: 1 notifyRoleChange: type: boolean description: Whether to notify the user of role changes. x-order: 2 schedule_Schedule: type: object description: | A schedule defines a recurring cron-based trigger for performance tests or other automated tasks. required: - name - user_id - cron_expression properties: id: description: Unique identifier for the schedule. 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 schedule. x-order: 2 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 user_id: description: UUID of the user who owns this schedule. 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 cron_expression: type: string description: | Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). x-order: 4 x-oapi-codegen-extra-tags: db: cron_expression maxLength: 500 created_at: x-order: 5 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: 6 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 schedule_SchedulePage: type: object description: A paginated list of schedules. required: - page - page_size - total_count - schedules properties: page: type: integer description: Current page number (zero-based). x-order: 1 minimum: 0 page_size: type: integer description: Number of schedules per page. x-order: 2 minimum: 1 total_count: type: integer description: Total number of schedules across all pages. x-order: 3 minimum: 0 schedules: type: array items: type: object description: | A schedule defines a recurring cron-based trigger for performance tests or other automated tasks. required: - name - user_id - cron_expression properties: id: description: Unique identifier for the schedule. 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 schedule. x-order: 2 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 user_id: description: UUID of the user who owns this schedule. 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 cron_expression: type: string description: | Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). x-order: 4 x-oapi-codegen-extra-tags: db: cron_expression maxLength: 500 created_at: x-order: 5 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: 6 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 x-order: 4 description: The schedules of the schedulepage. SubCategory_API_SubCategoryDefinition: $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 Team_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 Team_TeamPayload: 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 Team_TeamUpdatePayload: 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 Team_TeamPage: 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. Team_TeamsUsersMapping: type: object description: Mapping between teams and users 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 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true user_id: x-oapi-codegen-extra-tags: db: user_id type: string description: user's email or username x-go-type-skip-optional-pointer: true 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: x-oapi-codegen-extra-tags: db: deleted_at 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 Team_TeamsUsersMappingPage: type: object description: Paginated list of team-user mappings 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 teamsUsersMapping: type: array x-go-type-skip-optional-pointer: true items: x-go-type: TeamsUsersMapping type: object description: Mapping between teams and users 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 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true user_id: x-oapi-codegen-extra-tags: db: user_id type: string description: user's email or username x-go-type-skip-optional-pointer: true 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: x-oapi-codegen-extra-tags: db: deleted_at 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 users mapping of the teamsusersmappingpage. Team_TeamMember: type: object additionalProperties: true Team_TeamMembersPage: type: object 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 additionalProperties: true description: The data of the teammemberspage. User_User: type: object description: Represents a user in Layer5 Cloud (Meshery) required: - id - user_id - provider - email - first_name - last_name - status - created_at - updated_at - last_login_time - deleted_at 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 user_id: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: user_id x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, 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 first_name: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: first_name last_name: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: last_name avatar_url: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatar_url 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 - updated_at - 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 u r l 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. updated_at: 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. accepted_terms_at: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: accepted_terms_at type: string format: date-time x-go-type-skip-optional-pointer: true first_login_time: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: first_login_time type: string format: date-time x-go-type-skip-optional-pointer: true last_login_time: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: last_login_time type: string format: date-time x-go-type-skip-optional-pointer: true created_at: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at 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 deleted_at: 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: deleted_at role_names: 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: role_names teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teams_with_roles: 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: teams_with_roles total_count: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizations_with_roles: 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: organizations_with_roles total_count: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count additionalProperties: false User_UsersPageForAdmin: 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 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: Represents a user in Layer5 Cloud (Meshery) required: - id - user_id - provider - email - first_name - last_name - status - created_at - updated_at - last_login_time - deleted_at 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 user_id: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: user_id x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, 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 first_name: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: first_name last_name: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: last_name avatar_url: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatar_url 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 - updated_at - 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 u r l 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. updated_at: 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. accepted_terms_at: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: accepted_terms_at type: string format: date-time x-go-type-skip-optional-pointer: true first_login_time: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: first_login_time type: string format: date-time x-go-type-skip-optional-pointer: true last_login_time: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: last_login_time type: string format: date-time x-go-type-skip-optional-pointer: true created_at: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at 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 deleted_at: 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: deleted_at role_names: 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: role_names teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teams_with_roles: 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: teams_with_roles total_count: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizations_with_roles: 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: organizations_with_roles total_count: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count additionalProperties: false description: The data of the userspageforadmin. User_UsersPageForNonAdmin: type: object description: Paginated list of public user records 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: Represents a user in Layer5 Cloud (Meshery) required: - id - user_id - provider - email - first_name - last_name - status - created_at - updated_at - last_login_time - deleted_at 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 user_id: type: string maxLength: 200 description: User identifier (username or external ID) x-oapi-codegen-extra-tags: db: user_id json: user_id x-id-format: external provider: type: string maxLength: 100 description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, 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 first_name: type: string maxLength: 200 description: User's first name x-oapi-codegen-extra-tags: db: first_name json: first_name last_name: type: string maxLength: 300 description: User's last name x-oapi-codegen-extra-tags: db: last_name json: last_name avatar_url: type: string format: uri maxLength: 500 description: URL to user's avatar image x-oapi-codegen-extra-tags: db: avatar_url json: avatar_url 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 - updated_at - 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 u r l 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. updated_at: 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. accepted_terms_at: description: Timestamp when user accepted terms and conditions x-oapi-codegen-extra-tags: db: accepted_terms_at json: accepted_terms_at type: string format: date-time x-go-type-skip-optional-pointer: true first_login_time: description: Timestamp of user's first login x-oapi-codegen-extra-tags: db: first_login_time json: first_login_time type: string format: date-time x-go-type-skip-optional-pointer: true last_login_time: description: Timestamp of user's most recent login x-oapi-codegen-extra-tags: db: last_login_time json: last_login_time type: string format: date-time x-go-type-skip-optional-pointer: true created_at: description: Timestamp when the user record was created x-oapi-codegen-extra-tags: db: created_at json: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the user record was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at 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 deleted_at: 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: deleted_at role_names: 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: role_names teams: type: object description: Teams the user belongs to with role information x-oapi-codegen-extra-tags: db: teams json: teams properties: teams_with_roles: 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: teams_with_roles total_count: type: integer description: Total number of team memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count organizations: type: object description: Organizations the user belongs to with role information x-oapi-codegen-extra-tags: db: organizations json: organizations properties: organizations_with_roles: 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: organizations_with_roles total_count: type: integer description: Total number of organization memberships returned for the user. minimum: 0 x-oapi-codegen-extra-tags: db: total_count json: total_count additionalProperties: false description: The data of the userspagefornonadmin. User_Preference: x-generate-db-helpers: true type: object required: - anonymousUsageStats - anonymousPerfResults - updated_at - 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 u r l 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. updated_at: 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. User_Adapter: type: object description: Placeholder for Adapter struct definition. User_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. User_SelectedGrafanaConfig: 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. User_GrafanaBoard: type: object description: Placeholder for GrafanaBoard definition (define fields as needed) User_Panel: type: object description: Grafana panel structure imported from github.com/grafana-tools/sdk User_Prometheus: type: object properties: prometheusURL: type: string description: The prometheus u r l 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. User_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 User_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 View_MesheryView: $id: https://schemas.meshery.io/view.yaml $schema: http://json-schema.org/draft-07/schema# title: MesheryView description: >- A saved view with filters and metadata that defines a customized perspective of Meshery resources. Learn more at https://docs.meshery.io/concepts/logical/views additionalProperties: false type: object example: id: 00000000-0000-0000-0000-000000000000 name: My Kubernetes View visibility: private filters: {} metadata: {} user_id: 00000000-0000-0000-0000-000000000000 created_at: '0001-01-01T00:00:00Z' updated_at: '0001-01-01T00:00:00Z' deleted_at: null required: - id - name - visibility - user_id - created_at - updated_at properties: id: description: Unique identifier for the view. 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: type: string description: Display name of the view. maxLength: 255 minLength: 1 x-order: 2 x-oapi-codegen-extra-tags: db: name yaml: name visibility: type: string description: Visibility level of the view. maxLength: 255 x-order: 3 x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: visibility yaml: visibility filters: type: object description: Filter configuration that defines which resources this view displays. 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-order: 4 x-oapi-codegen-extra-tags: db: filters yaml: filters metadata: type: object description: Additional 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-order: 5 x-oapi-codegen-extra-tags: db: metadata yaml: metadata user_id: description: ID of the user who created the view. x-go-name: UserID x-go-type-skip-optional-pointer: true x-order: 6 x-oapi-codegen-extra-tags: db: user_id yaml: user_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid created_at: description: Timestamp when the view was created. x-oapi-codegen-extra-tags: db: created_at yaml: created_at x-order: 7 type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: description: Timestamp when the view was last updated. x-oapi-codegen-extra-tags: db: updated_at yaml: updated_at x-order: 8 type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: description: Timestamp when the view was soft deleted. Null while the view remains active. nullable: true x-go-type: core.NullTime x-go-import: database/sql x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-order: 9 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 View_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: ID of the user who created the view. 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: ID of the workspace this view belongs to. 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: ID of the organization this view belongs to. 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 View_ViewPayload: type: object description: Payload for creating or updating a view. required: - name properties: name: type: string description: Display name of the view. maxLength: 255 minLength: 1 x-oapi-codegen-extra-tags: json: name,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: json: filters,omitempty visibility: type: string description: Visibility level of the view. maxLength: 255 x-oapi-codegen-extra-tags: json: visibility,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: json: metadata,omitempty View_MesheryViewPage: 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: ID of the user who created the view. 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: ID of the workspace this view belongs to. 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: ID of the organization this view belongs to. 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. Workspace_Workspace: $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 - organization_id - created_at - updated_at 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 organization_id: 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: organization_id,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 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true Workspace_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 org_name: 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: org_name,omitempty owner: type: string description: Display name of the workspace owner. maxLength: 255 x-oapi-codegen-extra-tags: db: owner json: owner,omitempty owner_id: description: User ID of the workspace owner. x-go-name: OwnerId x-oapi-codegen-extra-tags: db: owner_id json: owner_id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner_email: type: string description: Email address of the workspace owner. maxLength: 320 x-oapi-codegen-extra-tags: db: owner_email json: owner_email,omitempty owner_avatar: type: string description: Avatar URL of the workspace owner. maxLength: 2048 x-oapi-codegen-extra-tags: db: owner_avatar json: owner_avatar,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 organization_id: type: string format: uuid description: Organization to which this workspace belongs. 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,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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true Workspace_WorkspacePayload: type: object description: Payload for creating a workspace. required: - name - organization_id 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 organization_id: 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: organization_id,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 Workspace_WorkspaceUpdatePayload: type: object description: Payload for updating a workspace. required: - organization_id 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 organization_id: 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: organization_id,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 Workspace_WorkspacePage: type: object description: Paginated list of workspaces. 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 workspaces: type: array 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 org_name: 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: org_name,omitempty owner: type: string description: Display name of the workspace owner. maxLength: 255 x-oapi-codegen-extra-tags: db: owner json: owner,omitempty owner_id: description: User ID of the workspace owner. x-go-name: OwnerId x-oapi-codegen-extra-tags: db: owner_id json: owner_id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner_email: type: string description: Email address of the workspace owner. maxLength: 320 x-oapi-codegen-extra-tags: db: owner_email json: owner_email,omitempty owner_avatar: type: string description: Avatar URL of the workspace owner. maxLength: 2048 x-oapi-codegen-extra-tags: db: owner_avatar json: owner_avatar,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 organization_id: type: string format: uuid description: Organization to which this workspace belongs. 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,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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true description: List of workspaces with resolved owner details. Workspace_WorkspacesTeamsMapping: type: object description: Junction record linking a workspace to a team. 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true Workspace_WorkspacesTeamsMappingPage: type: object description: Paginated list of workspace-team mappings. 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 workspacesTeamsMapping: type: array 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 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true 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: team_id json: team_id x-go-type-name: TeamId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true description: Workspace-team mapping entries. Workspace_WorkspacesEnvironmentsMapping: type: object description: Junction record linking a workspace to an environment. 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true environment_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: environment_id json: environment_id x-go-type-name: EnvironmentId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true Workspace_WorkspacesEnvironmentsMappingPage: type: object description: Paginated list of workspace-environment mappings. 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 workspacesEnvironmentsMapping: type: array 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 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true environment_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: environment_id json: environment_id x-go-type-name: EnvironmentId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true description: Workspace-environment mapping entries. Workspace_WorkspacesDesignsMapping: type: object description: Junction record linking a workspace to a design. 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true design_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: design_id json: design_id x-go-type-name: DesignId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true Workspace_WorkspacesDesignsMappingPage: type: object description: Paginated list of workspace-design mappings. 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 workspacesDesignsMapping: type: array 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 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true design_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: design_id json: design_id x-go-type-name: DesignId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true description: Workspace-design mapping entries. Workspace_WorkspacesViewsMapping: type: object description: Junction record linking a workspace to a view. 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true view_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: view_id json: view_id x-go-type-name: ViewId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true Workspace_WorkspacesViewsMappingPage: type: object description: Paginated list of workspace-view mappings. 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 workspacesViewsMapping: type: array 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 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 workspace_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: workspace_id json: workspace_id x-go-type-name: WorkspaceId x-go-type-skip-optional-pointer: true view_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: view_id json: view_id x-go-type-name: ViewId x-go-type-skip-optional-pointer: true 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 resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true description: Workspace-view mapping entries. Workspace_MesheryDesignPage: type: object description: Paginated list of designs. 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 designs: type: array 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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 x-order: 7 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: 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 x-order: 9 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: 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 x-order: 14 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 x-order: 15 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: 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 x-order: 14 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 x-order: 15 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 description: Designs in this page. Workspace_MesheryView: 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: ID of the user who created the view. 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: ID of the workspace this view belongs to. 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: ID of the organization this view belongs to. 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 Workspace_MesheryViewPage: 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: ID of the user who created the view. 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: ID of the workspace this view belongs to. 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: ID of the organization this view belongs to. 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. Academy_API_AcademyCurriculaOrgId: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id Academy_API_AcademyCurriculaBadgeId: allOf: - 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: ID of the badge to be awarded on completion of this curricula x-oapi-codegen-extra-tags: db: badge_id json: badge_id Academy_API_AcademyCurriculaInviteId: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id Academy_API_AcademyCurriculaWorkspaceId: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id Academy_API_AcademyCurriculaCreatedAt: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at Academy_API_AcademyCurriculaUpdatedAt: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at Academy_API_AcademyCurriculaDeletedAt: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at Academy_API_AcademyCurriculaMetadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink Academy_API_AcademyCurriculaAccessExpiresAt: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: Expiry time for curricula access x-go-type: '*time.Time' x-oapi-codegen-extra-tags: json: access_expires_at db: access_expires_at Academy_API_RegisterToAcademyContentRequest: type: object required: - contentId - user_id properties: contentId: type: string description: ID of the academy content to register for maxLength: 500 format: uuid user_id: type: string format: uuid description: ID of the user registering for the content. contentType: type: string enum: - learning-path - challenge - certification Academy_API_ContentType: type: string enum: - learning-path - challenge - certification Academy_API_Visibility: type: string enum: - public - private Academy_API_Level: type: string enum: - beginner - intermediate - advanced Academy_API_Status: type: string enum: - ready - archived - not_ready Academy_API_AcademyCurricula: type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink Academy_API_SingleAcademyCurriculaResponse: type: object allOf: - type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink - type: object required: - registration_count properties: registration_count: type: number description: Number of registrations associated with this curriculum. minimum: 0 x-oapi-codegen-extra-tags: db: registration_count,omitempty json: registration_count,omitempty invitation: x-go-type: invitationv1beta2.Invitation x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/invitation name: invitationv1beta2 type: object additionalProperties: false description: Invitation entity schema. required: - id - owner_id - name - description - org_id - accepted_by - emails - roles - teams - status - created_at - updated_at - deleted_at 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 owner_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: db: owner_id json: owner_id is_default: type: boolean description: >- Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation x-oapi-codegen-extra-tags: db: is_default json: is_default name: type: string description: >- Name of the invitation, which can be used to identify the invitation, required and cant be empty string, minLength: 1 maxLength: 255 description: type: string description: >- Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: >- Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses description: The emails of the invitation. org_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: db: org_id json: org_id expires_at: type: string format: date-time description: >- Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire x-oapi-codegen-extra-tags: db: expires_at json: expires_at quota: type: integer description: >- Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota minimum: 0 accepted_by: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet x-oapi-codegen-extra-tags: db: accepted_by json: accepted_by roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. created_at: type: string format: date-time description: Timestamp when the invitation was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: type: string format: date-time description: Timestamp when the invitation was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: type: string format: date-time x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core description: Timestamp when the invitation was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at Academy_API_CreateAcademyCurriculaRequest: type: object properties: type: description: Type of the curricula x-go-name: Type x-go-type: ContentType x-oapi-codegen-extra-tags: json: type type: string enum: - learning-path - challenge - certification title: type: string description: Title of the curricula example: Introduction to Kubernetes x-go-name: Title x-oapi-codegen-extra-tags: json: title maxLength: 500 org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id team_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: TeamId x-oapi-codegen-extra-tags: json: team_id db: team_id access_expires_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: Expiry time for curricula access x-go-type: '*time.Time' x-oapi-codegen-extra-tags: json: access_expires_at db: access_expires_at access_status: description: Current access status of the curricula x-go-name: AccessStatus x-go-type: invitationv1beta2.InvitationStatus x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/invitation name: invitationv1beta2 x-oapi-codegen-extra-tags: json: access_status db: access_status type: string enum: - enabled - disabled metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink required: - type - title - org_id - workspace_id - team_id - access_status - metadata Academy_API_AcademyCurriculaWithMetrics: allOf: - type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink - type: object required: - registration_count properties: registration_count: type: number description: Number of registrations associated with this curriculum. minimum: 0 x-oapi-codegen-extra-tags: db: registration_count,omitempty json: registration_count,omitempty Academy_API_AcademyCurriculaListResponse: type: object properties: total: type: integer description: Total number of Curricula example: 7 minimum: 0 data: type: array items: x-go-type: AcademyCurricula type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink description: The data of the academycurriculalistresponse. required: - total - data Academy_API_AcademyCurriculaWithMetricsListResponse: type: object properties: total: type: integer description: Total number of Curricula example: 7 minimum: 0 data: type: array items: x-go-type: AcademyCurriculaWithMetrics x-go-type-skip-optional-pointer: true allOf: - type: object additionalProperties: false description: AcademyCurricula entity schema. required: - id - type - org_id - visibility - status - slug - created_at - updated_at - deleted_at - metadata - level properties: id: type: string description: Id of the Curricula example: 923458-3490394-934893 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid type: x-go-type: ContentType x-oapi-codegen-extra-tags: db: type type: string enum: - learning-path - challenge - certification org_id: type: string description: Organization ID that owns this learning path example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id visibility: description: Visibility of the Curricula x-go-type: Visibility x-oapi-codegen-extra-tags: db: visibility json: visibility type: string enum: - public - private status: example: ready description: Status of the Curricula x-go-type: Status x-oapi-codegen-extra-tags: db: status json: status type: string enum: - ready - archived - not_ready slug: type: string description: slug of the Curricula example: intro-kubernetes-course maxLength: 500 level: description: Level of the Curricula x-go-type: Level x-oapi-codegen-extra-tags: db: level json: level type: string enum: - beginner - intermediate - advanced badge_id: type: string format: uuid description: ID of the badge to be awarded on completion of this curricula x-go-type: core.Uuid x-go-type-import: path: github.com/meshery/schemas/models/core name: core x-oapi-codegen-extra-tags: db: badge_id json: badge_id invite_id: allOf: - 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: ID of the invite associated with this Curricula x-oapi-codegen-extra-tags: db: invite_id json: invite_id workspace_id: allOf: - 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: ID of the workspace to which this Curricula belongs x-oapi-codegen-extra-tags: db: workspace_id json: workspace_id created_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula item was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: allOf: - type: string format: date-time x-go-type-skip-optional-pointer: true description: When the Curricula was last updated x-go-type: core.Time x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: allOf: - description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true x-go-type: core.NullTime x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at metadata: type: object description: Additional metadata about the Curricula additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata json: metadata oneOf: - x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: >- http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: >- Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink - type: object required: - registration_count properties: registration_count: type: number description: Number of registrations associated with this curriculum. minimum: 0 x-oapi-codegen-extra-tags: db: registration_count,omitempty json: registration_count,omitempty description: The data of the academycurriculawithmetricslistresponse. required: - total - data Academy_API_ChallengeMetadata: x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink Academy_API_LearningPathMetadata: x-go-type: CurriculaMetadata type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink Academy_API_CertificateIssuingAuthority: type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png Academy_API_Certificate: type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 Academy_API_CurriculaMetadata: type: object properties: title: type: string description: Title of the learning path example: Mastering Kubernetes for Engineers maxLength: 500 description: type: string description: Short description of the curricula example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads maxLength: 5000 detailedDescription: type: string description: Detailed description of the curricula example: >- This learning path covers everything from Kubernetes architecture to advanced deployment strategies, including hands-on labs and real-world scenarios. maxLength: 500 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg permalink: type: string format: uri description: Canonical URL for the learning path example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/ certificate: x-go-type: Certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 children: type: array description: List of children items in the top-level curricula items: x-go-type: ChildNode type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink required: - title - description - permalink Academy_API_AcademyRegistrationStatus: type: string enum: - registered - completed - failed - withdrawn description: Status of the user's course registration x-oapi-codegen-extra-tags: db: status Academy_API_AcademyRegistration: type: object required: - id - org_id - user_id - status - created_at - updated_at - content_id - certificate - 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-go-name: ID x-oapi-codegen-extra-tags: db: id json: id org_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: db: org_id content_id: type: string description: ID of the course content x-oapi-codegen-extra-tags: db: content_id maxLength: 500 format: uuid 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-oapi-codegen-extra-tags: db: user_id status: x-go-type: AcademyRegistrationStatus description: Status of the user's course registration x-oapi-codegen-extra-tags: db: status type: string enum: - registered - completed - failed - withdrawn updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true description: When the registration was updated x-oapi-codegen-extra-tags: db: updated_at created_at: type: string format: date-time x-go-type-skip-optional-pointer: true description: When the registration was created x-oapi-codegen-extra-tags: db: created_at deleted_at: description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true certificate: x-go-type: core.Map x-go-type-skip-optional-pointer: true description: Issued certificate for completing the curricula under registration x-oapi-codegen-extra-tags: db: certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 metadata: type: object description: Additional metadata about the registration additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata Academy_API_AllTestSubmissionsForCurricula: type: object description: Test submissions made by the user (map of test IDs to Submissions) additionalProperties: type: array description: Test submissions made by the user (array of QuizEvaluationResult) items: type: object required: - score - passed - totalMarks - passPercentage - quiz - attemptedAt - attempts - percentageScored - correctSubmissions properties: score: type: integer description: The score of the quizevaluationresult. minimum: 0 passed: type: boolean description: The passed of the quizevaluationresult. percentageScored: type: number format: float description: The percentage scored of the quizevaluationresult. minimum: 0 totalMarks: type: integer description: The total marks of the quizevaluationresult. minimum: 0 passPercentage: type: number format: float description: The pass percentage of the quizevaluationresult. minimum: 0 correctSubmissions: type: object additionalProperties: type: boolean description: The correct submissions of the quizevaluationresult. quiz: x-go-type: Quiz x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 attemptedAt: type: string format: date-time description: The attempted at of the quizevaluationresult. attempts: type: integer description: The attempts of the quizevaluationresult. minimum: 0 x-go-type: TestSubmissions Academy_API_TestSubmissions: type: array description: Test submissions made by the user (array of QuizEvaluationResult) items: type: object required: - score - passed - totalMarks - passPercentage - quiz - attemptedAt - attempts - percentageScored - correctSubmissions properties: score: type: integer description: The score of the quizevaluationresult. minimum: 0 passed: type: boolean description: The passed of the quizevaluationresult. percentageScored: type: number format: float description: The percentage scored of the quizevaluationresult. minimum: 0 totalMarks: type: integer description: The total marks of the quizevaluationresult. minimum: 0 passPercentage: type: number format: float description: The pass percentage of the quizevaluationresult. minimum: 0 correctSubmissions: type: object additionalProperties: type: boolean description: The correct submissions of the quizevaluationresult. quiz: x-go-type: Quiz x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 attemptedAt: type: string format: date-time description: The attempted at of the quizevaluationresult. attempts: type: integer description: The attempts of the quizevaluationresult. minimum: 0 Academy_API_ChildNode: type: object properties: id: type: string description: Unique identifier for the course example: 550e8400-e29b-41d4-a716-446655440002 x-go-name: ID x-oapi-codegen-extra-tags: db: id json: id maxLength: 500 format: uuid title: type: string description: Title of the course example: Kubernetes Basics maxLength: 500 permalink: type: string format: uri description: URL to the course content example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/ description: type: string description: Course description example: Learn the basics of Kubernetes maxLength: 5000 weight: type: number description: >- A numeric value to determine the display order. A smaller number appears first. If not specified, items will be sorted alphabetically by title. example: eg 1 , 2 minimum: 0 banner: type: string format: uri nullable: true description: Filename of the banner image, which should be placed in the same directory as the _index.md file example: kubernetes-icon.svg type: x-go-type: ContentType description: Type of the content (e.g., learning-path, challenge, certification) type: string enum: - learning-path - challenge - certification children: type: array description: List of child nodes (sub-courses or modules) items: type: object x-go-type: ChildNode required: - title - description - id - permalink Academy_API_AcademyRegistrationsListResponse: type: object properties: total: type: integer description: Total number of learning paths example: 7 minimum: 0 data: type: array items: type: object required: - id - org_id - user_id - status - created_at - updated_at - content_id - certificate - 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-go-name: ID x-oapi-codegen-extra-tags: db: id json: id org_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: db: org_id content_id: type: string description: ID of the course content x-oapi-codegen-extra-tags: db: content_id maxLength: 500 format: uuid 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-oapi-codegen-extra-tags: db: user_id status: x-go-type: AcademyRegistrationStatus description: Status of the user's course registration x-oapi-codegen-extra-tags: db: status type: string enum: - registered - completed - failed - withdrawn updated_at: type: string format: date-time x-go-type-skip-optional-pointer: true description: When the registration was updated x-oapi-codegen-extra-tags: db: updated_at created_at: type: string format: date-time x-go-type-skip-optional-pointer: true description: When the registration was created x-oapi-codegen-extra-tags: db: created_at deleted_at: description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true certificate: x-go-type: core.Map x-go-type-skip-optional-pointer: true description: Issued certificate for completing the curricula under registration x-oapi-codegen-extra-tags: db: certificate type: object required: - id - orgId - title - description - issuingAuthorities - issuedDate - recipientId - recipientName properties: id: type: string description: Unique identifier for the certificate example: 550e8400-e29b-41d4-a716-446655440000 x-go-name: ID maxLength: 500 format: uuid orgId: 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 recipientId: type: string description: ID of the recipient (user) who received the certificate example: 550e8400-e29b-41d4-a716-446655440001 maxLength: 500 format: uuid recipientName: type: string description: Name of the recipient (user) who received the certificate example: John Doe maxLength: 500 title: type: string description: Title of the certificate example: Kubernetes Expert Certification maxLength: 500 description: type: string description: Description of the certificate example: Awarded for successfully completing the Kubernetes Expert course maxLength: 5000 issuingAuthorities: type: array items: x-go-type: CertificateIssuingAuthority type: object required: - name - url properties: name: type: string description: Name of the issuing authority example: Cloud Native Foundation minLength: 1 maxLength: 255 role: type: string description: Role of the issuing authority example: COO maxLength: 500 signatureUrl: type: string format: uri description: >- URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG or SVG format example: http://localhost:9876/signatures/cloud-native-foundation.png description: List of issuing authorities for the certificate issuedDate: type: string format: date-time description: Date when the certificate was issued example: '2023-10-01 12:00:00+00:00' expirationDate: type: string format: date-time description: >- Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by instructors. example: '2025-10-01 12:00:00+00:00' expiresIn: type: integer description: Number of months after which the certificate expires example: 24 minimum: 0 metadata: type: object description: Additional metadata about the registration additionalProperties: true x-go-type: core.Map x-go-type-skip-optional-pointer: true x-oapi-codegen-extra-tags: db: metadata x-go-type: AcademyRegistration description: The data of the academyregistrationslistresponse. required: - total - data Academy_API_CurriculaCurrentItemData: type: object required: - id - lastOpened - contentType properties: id: type: string description: CurriculaCurrentItemData ID. maxLength: 500 format: uuid lastOpened: type: string format: date-time description: The last opened of the curriculacurrentitemdata. contentType: type: string enum: - learning-path - challenge - certification x-go-type: ContentType Academy_API_CurriculaProgressTracker: type: object required: - currentItem - grades - timeSpent - completed - completedItems properties: currentItem: type: object additionalProperties: x-go-type: CurriculaCurrentItemData type: object required: - id - lastOpened - contentType properties: id: type: string description: CurriculaCurrentItemData ID. maxLength: 500 format: uuid lastOpened: type: string format: date-time description: The last opened of the curriculacurrentitemdata. contentType: type: string enum: - learning-path - challenge - certification x-go-type: ContentType description: The current item of the curriculaprogresstracker. grades: type: object additionalProperties: x-go-type: QuizEvaluationResult type: object required: - score - passed - totalMarks - passPercentage - quiz - attemptedAt - attempts - percentageScored - correctSubmissions properties: score: type: integer description: The score of the quizevaluationresult. minimum: 0 passed: type: boolean description: The passed of the quizevaluationresult. percentageScored: type: number format: float description: The percentage scored of the quizevaluationresult. minimum: 0 totalMarks: type: integer description: The total marks of the quizevaluationresult. minimum: 0 passPercentage: type: number format: float description: The pass percentage of the quizevaluationresult. minimum: 0 correctSubmissions: type: object additionalProperties: type: boolean description: The correct submissions of the quizevaluationresult. quiz: x-go-type: Quiz x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 attemptedAt: type: string format: date-time description: The attempted at of the quizevaluationresult. attempts: type: integer description: The attempts of the quizevaluationresult. minimum: 0 description: The grades of the curriculaprogresstracker. timeSpent: type: integer description: Total time spent in seconds minimum: 0 completedItems: type: object description: Items that have been completed (map of item IDs to item data) additionalProperties: x-go-type: ProgressItemCompleted type: object required: - completedAt - itemData properties: completedAt: type: string format: date-time description: Timestamp when the item was completed itemData: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 completed: type: string format: date-time x-go-type: core.NullTime description: The completed of the curriculaprogresstracker. Academy_API_ProgressItemCompleted: type: object required: - completedAt - itemData properties: completedAt: type: string format: date-time description: Timestamp when the item was completed itemData: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 Academy_API_UpdateCurrentItemRequest: type: object properties: contentType: type: string enum: - learning-path - challenge - certification x-go-type: ContentType itemData: x-go-type: CurriculaCurrentItemData type: object required: - id - lastOpened - contentType properties: id: type: string description: CurriculaCurrentItemData ID. maxLength: 500 format: uuid lastOpened: type: string format: date-time description: The last opened of the curriculacurrentitemdata. contentType: type: string enum: - learning-path - challenge - certification x-go-type: ContentType required: - contentType - itemData Academy_API_ErrorResponse: type: object properties: error: type: string description: The error of the errorresponse. maxLength: 500 details: type: string description: The details of the errorresponse. maxLength: 500 Academy_API_Quiz: x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 Academy_API_Parent: type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 Academy_API_QuestionType: type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay Academy_API_Question: type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 Academy_API_QuestionOption: type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. Academy_API_StartTestRequest: type: object required: - testAbsPath - registrationId properties: testAbsPath: type: string description: The test abs path of the starttestrequest. maxLength: 500 registrationId: type: string description: ID of the associated registration. maxLength: 500 format: uuid Academy_API_QuizSubmission: type: object required: - quizAbsPath - registrationId - testSessionId - user_id - answers properties: testSessionId: 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 quizAbsPath: type: string description: The quiz abs path of the quizsubmission. maxLength: 500 registrationId: type: string description: ID of the associated registration. maxLength: 500 format: uuid user_id: type: string description: ID of the user who owns or created this resource. maxLength: 500 format: uuid answers: type: array items: x-go-type: SubmittedAnswer type: object required: - questionId - selectedOptionId - answerText properties: questionId: type: string description: ID of the associated question. maxLength: 500 format: uuid selectedOptionId: type: object additionalProperties: type: boolean description: Map of selected option IDs to a boolean value indicating if it was selected. answerText: type: string description: The answer text of the submittedanswer. maxLength: 500 description: The answers of the quizsubmission. Academy_API_SubmittedAnswer: type: object required: - questionId - selectedOptionId - answerText properties: questionId: type: string description: ID of the associated question. maxLength: 500 format: uuid selectedOptionId: type: object additionalProperties: type: boolean description: Map of selected option IDs to a boolean value indicating if it was selected. answerText: type: string description: The answer text of the submittedanswer. maxLength: 500 Academy_API_TestSubmissionStatus: type: string enum: - not-attempted - failed - passed x-enum-varnames: - TestSubmissionStatusNotAttempted - TestSubmissionStatusFailed - TestSubmissionStatusPassed Academy_API_TestSubmission: type: object required: - id - registration_id - test_abs_path - user_id - created_at - status - test 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 registration_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: db: registration_id json: registration_id test_abs_path: type: string x-oapi-codegen-extra-tags: db: test_abs_path description: The test abs path of the testsubmission. maxLength: 500 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-oapi-codegen-extra-tags: db: user_id created_at: description: When the submission was created or started type: string format: date-time x-oapi-codegen-extra-tags: db: created_at updated_at: description: When the submission was last updated type: string format: date-time x-oapi-codegen-extra-tags: db: updated_at deleted_at: description: Timestamp when the resource was deleted. x-go-type: NullTime type: string format: date-time x-go-name: DeletedAt x-oapi-codegen-extra-tags: db: deleted_at yaml: deleted_at x-go-type-skip-optional-pointer: true submitted_at: type: string format: date-time x-oapi-codegen-extra-tags: db: submitted_at description: The submitted at of the testsubmission. submission_data: type: object required: - quizAbsPath - registrationId - testSessionId - user_id - answers properties: testSessionId: 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 quizAbsPath: type: string description: The quiz abs path of the quizsubmission. maxLength: 500 registrationId: type: string description: ID of the associated registration. maxLength: 500 format: uuid user_id: type: string description: ID of the user who owns or created this resource. maxLength: 500 format: uuid answers: type: array items: x-go-type: SubmittedAnswer type: object required: - questionId - selectedOptionId - answerText properties: questionId: type: string description: ID of the associated question. maxLength: 500 format: uuid selectedOptionId: type: object additionalProperties: type: boolean description: Map of selected option IDs to a boolean value indicating if it was selected. answerText: type: string description: The answer text of the submittedanswer. maxLength: 500 description: The answers of the quizsubmission. x-go-type: QuizSubmission x-oapi-codegen-extra-tags: db: submission_data expires_at: type: string description: Expiry time for the test submission ( based on the time limit of the test ) format: date-time x-oapi-codegen-extra-tags: db: expires_at status: x-go-type: TestSubmissionStatus type: string enum: - not-attempted - failed - passed x-enum-varnames: - TestSubmissionStatusNotAttempted - TestSubmissionStatusFailed - TestSubmissionStatusPassed result: type: object required: - score - passed - totalMarks - passPercentage - quiz - attemptedAt - attempts - percentageScored - correctSubmissions properties: score: type: integer description: The score of the quizevaluationresult. minimum: 0 passed: type: boolean description: The passed of the quizevaluationresult. percentageScored: type: number format: float description: The percentage scored of the quizevaluationresult. minimum: 0 totalMarks: type: integer description: The total marks of the quizevaluationresult. minimum: 0 passPercentage: type: number format: float description: The pass percentage of the quizevaluationresult. minimum: 0 correctSubmissions: type: object additionalProperties: type: boolean description: The correct submissions of the quizevaluationresult. quiz: x-go-type: Quiz x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 attemptedAt: type: string format: date-time description: The attempted at of the quizevaluationresult. attempts: type: integer description: The attempts of the quizevaluationresult. minimum: 0 x-go-type: QuizEvaluationResult x-oapi-codegen-extra-tags: db: result test: x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 x-go-type: Quiz Academy_API_QuizEvaluationResult: type: object required: - score - passed - totalMarks - passPercentage - quiz - attemptedAt - attempts - percentageScored - correctSubmissions properties: score: type: integer description: The score of the quizevaluationresult. minimum: 0 passed: type: boolean description: The passed of the quizevaluationresult. percentageScored: type: number format: float description: The percentage scored of the quizevaluationresult. minimum: 0 totalMarks: type: integer description: The total marks of the quizevaluationresult. minimum: 0 passPercentage: type: number format: float description: The pass percentage of the quizevaluationresult. minimum: 0 correctSubmissions: type: object additionalProperties: type: boolean description: The correct submissions of the quizevaluationresult. quiz: x-go-type: Quiz x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 attemptedAt: type: string format: date-time description: The attempted at of the quizevaluationresult. attempts: type: integer description: The attempts of the quizevaluationresult. minimum: 0 Academy_API_UserRegistration: type: object required: - curricula_title - curricula_type - curricula_permalink - registration_id - status - user_id - user_email - user_last_name - user_first_name - user_avatar_url - total_count properties: curricula_title: type: string description: Title of the curricula x-oapi-codegen-extra-tags: db: curricula_title maxLength: 500 curricula_type: type: string enum: - learning-path - challenge - certification description: Type of the curricula x-go-type: ContentType x-oapi-codegen-extra-tags: db: curricula_type curricula_permalink: type: string description: Permalink of the curricula x-oapi-codegen-extra-tags: db: curricula_permalink maxLength: 500 registration_id: type: string format: uuid description: Unique ID of the registration x-oapi-codegen-extra-tags: db: registration_id status: description: Registration status x-go-type: AcademyRegistrationStatus x-oapi-codegen-extra-tags: db: status type: string enum: - registered - completed - failed - withdrawn created_at: type: string format: date-time description: When the registration was created x-oapi-codegen-extra-tags: db: created_at user_id: type: string format: uuid description: ID of the user x-oapi-codegen-extra-tags: db: user_id user_first_name: type: string description: First name of the user x-oapi-codegen-extra-tags: db: user_first_name maxLength: 500 user_last_name: type: string description: Last name of the user x-oapi-codegen-extra-tags: db: user_last_name maxLength: 500 user_email: type: string format: email description: Email of the user x-oapi-codegen-extra-tags: db: user_email user_avatar_url: type: string format: uri description: Avatar URL of the user x-oapi-codegen-extra-tags: db: user_avatar_url total_count: type: integer format: int64 description: Total count for pagination x-oapi-codegen-extra-tags: db: total_count minimum: 0 Academy_API_CurriculaRegistrationsFilter: type: object required: - pagesize - page - contentType - status properties: pagesize: type: integer description: The pagesize of the curricularegistrationsfilter. minimum: 1 page: type: integer description: Current page number of the result set. minimum: 0 contentType: type: array items: type: string description: The content type of the curricularegistrationsfilter. status: type: array items: type: string description: Current status of the resource. Academy_API_CurriculaRegistrationsResponse: type: object required: - data - total_count - page_size - page properties: data: type: array items: x-go-type: UserRegistration type: object required: - curricula_title - curricula_type - curricula_permalink - registration_id - status - user_id - user_email - user_last_name - user_first_name - user_avatar_url - total_count properties: curricula_title: type: string description: Title of the curricula x-oapi-codegen-extra-tags: db: curricula_title maxLength: 500 curricula_type: type: string enum: - learning-path - challenge - certification description: Type of the curricula x-go-type: ContentType x-oapi-codegen-extra-tags: db: curricula_type curricula_permalink: type: string description: Permalink of the curricula x-oapi-codegen-extra-tags: db: curricula_permalink maxLength: 500 registration_id: type: string format: uuid description: Unique ID of the registration x-oapi-codegen-extra-tags: db: registration_id status: description: Registration status x-go-type: AcademyRegistrationStatus x-oapi-codegen-extra-tags: db: status type: string enum: - registered - completed - failed - withdrawn created_at: type: string format: date-time description: When the registration was created x-oapi-codegen-extra-tags: db: created_at user_id: type: string format: uuid description: ID of the user x-oapi-codegen-extra-tags: db: user_id user_first_name: type: string description: First name of the user x-oapi-codegen-extra-tags: db: user_first_name maxLength: 500 user_last_name: type: string description: Last name of the user x-oapi-codegen-extra-tags: db: user_last_name maxLength: 500 user_email: type: string format: email description: Email of the user x-oapi-codegen-extra-tags: db: user_email user_avatar_url: type: string format: uri description: Avatar URL of the user x-oapi-codegen-extra-tags: db: user_avatar_url total_count: type: integer format: int64 description: Total count for pagination x-oapi-codegen-extra-tags: db: total_count minimum: 0 description: The data of the curricularegistrationsresponse. total_count: type: integer format: int64 description: Total number of items available. minimum: 0 page_size: type: integer description: Number of items per page. minimum: 1 page: type: integer description: Current page number of the result set. minimum: 0 Academy_API_UpdateCurrentItemProgressResponse: type: object properties: message: type: string description: The message of the updatecurrentitemprogressresponse. maxLength: 500 progressTracker: type: object required: - currentItem - grades - timeSpent - completed - completedItems properties: currentItem: type: object additionalProperties: x-go-type: CurriculaCurrentItemData type: object required: - id - lastOpened - contentType properties: id: type: string description: CurriculaCurrentItemData ID. maxLength: 500 format: uuid lastOpened: type: string format: date-time description: The last opened of the curriculacurrentitemdata. contentType: type: string enum: - learning-path - challenge - certification x-go-type: ContentType description: The current item of the curriculaprogresstracker. grades: type: object additionalProperties: x-go-type: QuizEvaluationResult type: object required: - score - passed - totalMarks - passPercentage - quiz - attemptedAt - attempts - percentageScored - correctSubmissions properties: score: type: integer description: The score of the quizevaluationresult. minimum: 0 passed: type: boolean description: The passed of the quizevaluationresult. percentageScored: type: number format: float description: The percentage scored of the quizevaluationresult. minimum: 0 totalMarks: type: integer description: The total marks of the quizevaluationresult. minimum: 0 passPercentage: type: number format: float description: The pass percentage of the quizevaluationresult. minimum: 0 correctSubmissions: type: object additionalProperties: type: boolean description: The correct submissions of the quizevaluationresult. quiz: x-go-type: Quiz x-generate-db-helpers: true type: object required: - id - title - org_id - description - slug - relPermalink - permalink - type - section - layout - date - final - lastmod - draft - filePath - passPercentage - timeLimit - maxAttempts - questions - totalQuestions - totalQuestionsInBank - totalQuestionSets - totalMarks - prerequisites - nextPage properties: id: type: string x-go-name: ID x-oapi-codegen-extra-tags: json: id description: Quiz ID. maxLength: 500 format: uuid org_id: type: string description: Organization ID that owns this quiz example: layer5 x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid final: type: boolean description: >- Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg course , module , learning path example: true title: type: string description: The title of the quiz. maxLength: 500 description: type: string description: Description of the quiz. maxLength: 5000 slug: type: string description: The slug of the quiz. maxLength: 500 relPermalink: type: string description: The rel permalink of the quiz. maxLength: 500 permalink: type: string description: The permalink of the quiz. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 section: type: string description: The section of the quiz. maxLength: 500 layout: type: string description: The layout of the quiz. maxLength: 500 date: type: string format: date description: The date of the quiz. lastmod: type: string format: date description: The lastmod of the quiz. draft: type: boolean description: The draft of the quiz. filePath: type: string description: The file path of the quiz. maxLength: 500 passPercentage: type: number format: float description: The pass percentage of the quiz. minimum: 0 timeLimit: description: Time limit for the quiz in minutes. A value of 0 indicates no time limit. type: integer minimum: 0 maxAttempts: description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts. type: integer minimum: 0 questions: type: array items: x-go-type: Question type: object required: - id - text - type - marks - options - correctAnswer properties: id: type: string description: Question ID. maxLength: 500 format: uuid text: type: string description: The text of the question. maxLength: 500 type: x-go-type: QuestionType type: string x-enum-varnames: - QuestionTypeMultipleAnswers - QuestionTypeSingleAnswer - QuestionTypeShortAnswer - QuestionTypeEssay enum: - multiple-answers - single-answer - short-answer - essay marks: type: integer description: The marks of the question. minimum: 0 multipleAnswers: type: boolean description: The multiple answers of the question. options: type: array items: x-go-type: QuestionOption type: object required: - id - text - isCorrect properties: id: type: string description: QuestionOption ID. maxLength: 500 format: uuid text: type: string description: The text of the questionoption. maxLength: 500 isCorrect: type: boolean description: The is correct of the questionoption. description: The options of the question. correctAnswer: type: string description: The correct answer of the question. maxLength: 500 description: The questions of the quiz. totalQuestions: type: integer description: The total questions of the quiz. minimum: 0 totalQuestionsInBank: type: integer description: The total questions in bank of the quiz. minimum: 0 totalQuestionSets: type: integer description: The total question sets of the quiz. minimum: 0 totalMarks: type: integer description: The total marks of the quiz. minimum: 0 prerequisites: type: array items: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 description: The prerequisites of the quiz. parent: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 nextPage: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 attemptedAt: type: string format: date-time description: The attempted at of the quizevaluationresult. attempts: type: integer description: The attempts of the quizevaluationresult. minimum: 0 description: The grades of the curriculaprogresstracker. timeSpent: type: integer description: Total time spent in seconds minimum: 0 completedItems: type: object description: Items that have been completed (map of item IDs to item data) additionalProperties: x-go-type: ProgressItemCompleted type: object required: - completedAt - itemData properties: completedAt: type: string format: date-time description: Timestamp when the item was completed itemData: x-go-type: Parent type: object required: - id - title - relPermalink - type properties: id: type: string description: Parent ID. maxLength: 500 format: uuid title: type: string description: The title of the parent. maxLength: 500 relPermalink: type: string description: The rel permalink of the parent. maxLength: 500 type: type: string description: Type of the resource. maxLength: 255 completed: type: string format: date-time x-go-type: core.NullTime description: The completed of the curriculaprogresstracker. registrationId: type: string description: ID of the associated registration. maxLength: 500 format: uuid contentType: type: string enum: - learning-path - challenge - certification itemData: type: object required: - id - lastOpened - contentType properties: id: type: string description: CurriculaCurrentItemData ID. maxLength: 500 format: uuid lastOpened: type: string format: date-time description: The last opened of the curriculacurrentitemdata. contentType: type: string enum: - learning-path - challenge - certification x-go-type: ContentType Component_ComponentDefinition: $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: description: Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: id json: id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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/v1beta2 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-readable 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 maxLength: 5000 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: description: Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_id: description: Foreign key to the model to which the component belongs. x-oapi-codegen-extra-tags: gorm: index:idx_component_definition_dbs_model_id,column:model_id yaml: '-' json: '-' type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: 'Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.' x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 Component_Component: description: >- Data related to the third-party capability that a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: 'Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.' x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 required: - version - kind - schema Connection_API_Connection: $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 - sub_type - kind - status properties: id: description: Connection 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: Connection Name minLength: 1 maxLength: 255 credential_id: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credential_id x-order: 3 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 yaml: type x-order: 4 type: string description: Connection Type (platform, telemetry, collaboration) maxLength: 255 sub_type: x-oapi-codegen-extra-tags: db: sub_type yaml: sub_type x-order: 5 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) maxLength: 255 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) maxLength: 255 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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/v1beta2 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 Connection_API_ConnectionPage: description: Represents a page of connections with meta information about connections count additionalProperties: false type: object required: - connections - total_count - page - page_size 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 - sub_type - kind - status properties: id: description: Connection 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: Connection Name minLength: 1 maxLength: 255 credential_id: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credential_id x-order: 3 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 yaml: type x-order: 4 type: string description: Connection Type (platform, telemetry, collaboration) maxLength: 255 sub_type: x-oapi-codegen-extra-tags: db: sub_type yaml: sub_type x-order: 5 type: string description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration) maxLength: 255 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) maxLength: 255 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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/v1beta2 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 total_count: type: integer description: Total number of connections on all pages x-order: 2 minimum: 0 page: type: integer description: Current page number x-order: 3 minimum: 0 page_size: type: integer description: Number of elements per page 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 Connection_API_ConnectionStatusValue: type: string description: Connection Status Value x-go-name: ConnectionStatusValue enum: - discovered - registered - connected - ignored - maintenance - disconnected - deleted - not found Connection_API_ConnectionPayload: 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 Connection_API_ConnectionStatusInfo: type: object description: Status count information for connections properties: status: type: string description: Status value x-oapi-codegen-extra-tags: json: status db: status maxLength: 255 count: type: integer description: Number of connections with this status x-oapi-codegen-extra-tags: json: count db: count minimum: 0 required: - status - count Connection_API_ConnectionsStatusPage: type: object description: Paginated list of connection status counts properties: total_count: type: integer description: Total number of status entries x-oapi-codegen-extra-tags: json: total_count minimum: 0 page: type: integer description: Current page number x-oapi-codegen-extra-tags: json: page minimum: 0 page_size: type: integer description: Number of items per page x-oapi-codegen-extra-tags: json: page_size minimum: 1 connectionsStatus: type: array description: List of status counts items: type: object description: Status count information for connections properties: status: type: string description: Status value x-oapi-codegen-extra-tags: json: status db: status maxLength: 255 count: type: integer description: Number of connections with this status x-oapi-codegen-extra-tags: json: count db: count minimum: 0 required: - status - count x-oapi-codegen-extra-tags: json: connectionsStatus required: - total_count - page - page_size - connectionsStatus Connection_API_MesheryInstance: type: object description: Meshery server instance information properties: id: type: string description: Instance ID x-oapi-codegen-extra-tags: json: id,omitempty db: id maxLength: 500 format: uuid name: type: string description: Instance name x-oapi-codegen-extra-tags: json: name,omitempty db: name minLength: 1 maxLength: 255 server_id: type: string description: Server ID x-go-name: ServerID x-oapi-codegen-extra-tags: json: server_id,omitempty db: server_id maxLength: 500 format: uuid server_version: type: string description: Meshery server version x-oapi-codegen-extra-tags: json: server_version,omitempty db: server_version maxLength: 500 server_location: type: string description: Server location URL x-oapi-codegen-extra-tags: json: server_location,omitempty db: server_location maxLength: 500 server_build_sha: type: string description: Server build SHA x-go-name: ServerBuildSHA x-oapi-codegen-extra-tags: json: server_build_sha,omitempty db: server_build_sha maxLength: 500 created_at: type: string description: Creation timestamp x-oapi-codegen-extra-tags: json: created_at,omitempty db: created_at format: date-time updated_at: type: string description: Last update timestamp x-oapi-codegen-extra-tags: json: updated_at,omitempty db: updated_at format: date-time deleted_at: type: string description: Deletion timestamp x-oapi-codegen-extra-tags: json: deleted_at,omitempty db: deleted_at format: date-time Connection_API_MesheryInstancePage: type: object description: Paginated list of Meshery instances properties: mesheryInstances: type: array description: List of Meshery instances items: type: object description: Meshery server instance information properties: id: type: string description: Instance ID x-oapi-codegen-extra-tags: json: id,omitempty db: id maxLength: 500 format: uuid name: type: string description: Instance name x-oapi-codegen-extra-tags: json: name,omitempty db: name minLength: 1 maxLength: 255 server_id: type: string description: Server ID x-go-name: ServerID x-oapi-codegen-extra-tags: json: server_id,omitempty db: server_id maxLength: 500 format: uuid server_version: type: string description: Meshery server version x-oapi-codegen-extra-tags: json: server_version,omitempty db: server_version maxLength: 500 server_location: type: string description: Server location URL x-oapi-codegen-extra-tags: json: server_location,omitempty db: server_location maxLength: 500 server_build_sha: type: string description: Server build SHA x-go-name: ServerBuildSHA x-oapi-codegen-extra-tags: json: server_build_sha,omitempty db: server_build_sha maxLength: 500 created_at: type: string description: Creation timestamp x-oapi-codegen-extra-tags: json: created_at,omitempty db: created_at format: date-time updated_at: type: string description: Last update timestamp x-oapi-codegen-extra-tags: json: updated_at,omitempty db: updated_at format: date-time deleted_at: type: string description: Deletion timestamp x-oapi-codegen-extra-tags: json: deleted_at,omitempty db: deleted_at format: date-time x-oapi-codegen-extra-tags: json: mesheryInstances page: type: integer description: Current page number x-oapi-codegen-extra-tags: json: page minimum: 0 page_size: type: integer description: Number of items per page x-oapi-codegen-extra-tags: json: page_size minimum: 1 total_count: type: integer description: Total number of instances x-oapi-codegen-extra-tags: json: total_count minimum: 0 required: - mesheryInstances - page - page_size - total_count Connection_API_MesheryCompatibility: type: object description: Meshery version compatibility check properties: mesheryVersion: type: string description: Meshery version string x-oapi-codegen-extra-tags: json: mesheryVersion,omitempty maxLength: 500 checkCompatibility: type: boolean description: Whether to check compatibility x-oapi-codegen-extra-tags: json: checkCompatibility,omitempty Design_DeletePatternModel: type: object properties: 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 name: type: string x-go-type-skip-optional-pointer: true Design_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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: 'Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.' x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: json: to required: - id - name - schemaVersion - version - components - relationships Design_MesheryPattern: type: object properties: catalogData: x-go-type: catalogv1alpha2.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1alpha2/catalog name: catalogv1alpha2 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - 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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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 Design_MesheryPatternPage: type: object 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 patterns: type: array items: x-go-type: MesheryPattern type: object properties: catalogData: x-go-type: catalogv1alpha2.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1alpha2/catalog name: catalogv1alpha2 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - 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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: >- Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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 description: The patterns of the mesherypatternpage. resultType: type: string description: The result type of the mesherypatternpage. maxLength: 500 total_count: type: integer description: Total number of items available. minimum: 0 Design_MesheryPatternDeleteRequestBody: type: object properties: patterns: type: array items: x-go-type: DeletePatternModel type: object properties: 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 name: type: string x-go-type-skip-optional-pointer: true description: The patterns of the mesherypatterndeleterequestbody. Design_MesheryPatternRequestBody: type: object properties: path: type: string x-go-type-skip-optional-pointer: true patternData: x-go-type: MesheryPattern type: object properties: catalogData: x-go-type: catalogv1alpha2.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1alpha2/catalog name: catalogv1alpha2 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - 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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: >- Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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 save: type: boolean description: The save of the mesherypatternrequestbody. url: description: endpoint format: uri pattern: ^https?:// x-go-type-skip-optional-pointer: true type: string name: type: string description: Name of the mesherypatternrequestbody. minLength: 1 maxLength: 255 Design_MesheryPatternImportRequestBody: type: object description: >- Choose the method you prefer to upload your design file. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online. enum: - file - url properties: file: type: string format: file description: >- 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. maxLength: 500 name: type: string default: Untitled Design description: >- Provide a name for your design file. This name will help you identify the file more easily. You can also change the name of your design after importing it. minLength: 1 maxLength: 255 url: type: string format: uri description: >- Provide the URL of the file you want to import. This should be a direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Also, ensure that design 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 Design_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 Design_CatalogContentItem: type: object additionalProperties: true Design_CatalogContentPage: type: object 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 patterns: type: array items: type: object properties: catalogData: x-go-type: catalogv1alpha2.CatalogData x-go-type-import: path: github.com/meshery/schemas/models/v1alpha2/catalog name: catalogv1alpha2 type: object additionalProperties: false properties: publishedVersion: description: Tracks the specific content version that has been made available in the Catalog. type: string maxLength: 500 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. maxLength: 500 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. patternCaveats: type: string title: Caveats and Considerations description: Specific stipulations to consider and known behaviors to be aware of when using this design. maxLength: 500 patternInfo: type: string title: Description minLength: 1 description: Purpose of the design along with its intended and unintended uses. type: type: string title: Type x-enum-casing-exempt: true 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 - patternCaveats - patternInfo - 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 minLength: 1 maxLength: 255 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: relationshipId: 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 aliasComponentId: 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 immediateParentId: 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 immediateRefFieldPath: type: array items: type: string description: The immediate ref field path of the nonresolvedalias. required: - relationshipId - aliasComponentId - immediateParentId - immediateRefFieldPath - type: object properties: resolvedParentId: 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 resolvedRefFieldPath: type: array description: Fully resolved field path targeted by the alias. items: type: string required: - resolvedParentId - resolvedRefFieldPath description: Additional metadata associated with this resource. 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/v1beta2/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/v1beta2 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-readable 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 maxLength: 5000 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: description: >- Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design). x-order: 1 x-oapi-codegen-extra-tags: yaml: 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 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: description: Connection 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: Connection Name credentialId: x-go-name: CredentialID x-oapi-codegen-extra-tags: db: credential_id yaml: credentialId x-order: 3 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 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: x-go-name: UserID x-oapi-codegen-extra-tags: db: user_id yaml: user_id x-order: 9 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 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: description: 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 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: x-go-name: OrganizationID x-oapi-codegen-extra-tags: db: organization_id yaml: organization_id 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 yaml: 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 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: description: ID of the registrant. x-oapi-codegen-extra-tags: yaml: connection_id json: connection_id gorm: column:connection_id x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid categoryId: description: ID of the category. x-oapi-codegen-extra-tags: yaml: '-' json: '-' gorm: categoryID x-order: 8 type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid 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: 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 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 model_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: 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. maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. maxLength: 500 color: type: string description: >- The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 500 textOpacity: type: number description: The opacity of the label text, including its outline. minimum: 0 maximum: 1 fontFamily: type: string description: A comma-separated list of font names to use on the label text. maxLength: 500 fontSize: type: string description: The size of the label text. maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. maxLength: 500 textTransform: 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 zIndex: 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. minimum: 0 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 maxLength: 500 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. minimum: -1000000 maximum: 1000000 x-go-type: float64 'y': type: number description: The y-coordinate of the node. minimum: -1000000 maximum: 1000000 x-go-type: float64 bodyText: 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 maxLength: 500 bodyTextWrap: type: string description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'. enum: - none - wrap - ellipsis bodyTextMaxWidth: type: string description: The maximum width for wrapping text in the node. maxLength: 50 bodyTextOpacity: type: number description: The opacity of the node's body text, including its outline. minimum: 0 maximum: 1 bodyTextBackgroundColor: type: string description: >- The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontSize: type: number description: The size of the node's body text. minimum: 0 bodyTextColor: type: string description: >- The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 bodyTextFontWeight: type: string description: A CSS font weight to be applied to the node's body text. maxLength: 50 bodyTextHorizontalAlign: type: string description: A CSS horizontal alignment to be applied to the node's body text. maxLength: 50 bodyTextDecoration: type: string description: A CSS text decoration to be applied to the node's body text. maxLength: 100 bodyTextVerticalAlign: type: string description: A CSS vertical alignment to be applied to the node's body text. maxLength: 50 width: type: number description: The width of the node's body or the width of an edge's line. minimum: 0 height: type: number description: The height of the node's body minimum: 0 backgroundImage: type: string format: uri description: The URL that points to the image to show in the node. maxLength: 2048 backgroundColor: type: string description: >- The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 backgroundBlacken: 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 backgroundOpacity: type: number description: The opacity level of the node's background colour maximum: 1 minimum: 0 backgroundPositionX: type: string description: >- The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundPositionY: type: string description: >- The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetX: type: string description: >- The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundOffsetY: type: string description: >- The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) maxLength: 50 backgroundFit: type: string description: >- How the background image is fit to the node. Can be 'none', 'contain', or 'cover'. enum: - none - contain - cover backgroundClip: type: string description: >- How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'. enum: - none - node - node-border backgroundWidthRelativeTo: type: string description: >- How the background image's width is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer backgroundHeightRelativeTo: type: string description: >- How the background image's height is determined. Can be 'none', 'inner', or 'outer'. enum: - none - inner - outer borderWidth: type: number description: The size of the node's border. minimum: 0 borderStyle: type: string description: The style of the node's border enum: - solid - dotted - dashed - double borderColor: type: string description: >- The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 borderOpacity: 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 textHalign: type: string description: The horizontal alignment of a node's label enum: - left - center - right textValign: 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' activeBgColor: 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. maxLength: 100 activeBgOpacity: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 activeBgSize: type: string description: The opacity of the active background indicator. Selector needs to be *core*. maxLength: 50 selectionBoxColor: 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. maxLength: 100 selectionBoxBorderWidth: type: number description: The size of the border on the selection box. Selector needs to be *core* minimum: 0 selectionBoxOpacity: type: number description: The opacity of the selection box. Selector needs to be *core* minimum: 0 maximum: 1 outsideTextureBgColor: 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. maxLength: 100 outsideTextureBgOpacity: type: number description: >- The opacity of the area outside the viewport texture. Selector needs to be *core* minimum: 0 maximum: 1 shapePolygonPoints: 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 ) maxLength: 2000 menuBackgroundColor: type: string description: >- The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. maxLength: 100 menuBackgroundOpacity: type: number description: The opacity of the background of the component menu. minimum: 0 maximum: 1 menuForgroundColor: 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. maxLength: 100 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. maxLength: 1000 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 cluster 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/ . maxLength: 20000 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 a ComponentDefinition wraps; this payload is treated as a hermetically sealed, opaque object. type: object properties: version: type: string description: >- Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod. x-order: 1 maxLength: 500 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 maxLength: 255 schema: type: string description: JSON schema of the object as defined by the registrant. x-order: 3 maxLength: 500 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 additionalProperties: false 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 maxLength: 255 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 maxLength: 255 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: 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: yaml: capabilities json: capabilities,omitempty gorm: type:bytes;serializer:json metadata: x-go-type: RelationshipMetadata x-order: 5 x-oapi-codegen-extra-tags: gorm: column:metadata;type:bytes;serializer:json yaml: metadata json: metadata,omitempty type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: >- Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: >- Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: 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 model_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-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 maxLength: 500 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 match: x-go-type: MatchSelector x-oapi-codegen-extra-tags: 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: json: refs,omitempty description: The refs of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: from,omitempty description: The from of the matchselector. 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: json: id kind: type: string x-oapi-codegen-extra-tags: json: kind description: Kind of the resource. maxLength: 255 mutatorRef: x-oapi-codegen-extra-tags: 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: 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: json: to,omitempty description: The to of the matchselector. matchStrategyMatrix: description: Match strategy matrix for the selector type: array items: type: array items: type: string x-oapi-codegen-extra-tags: json: matchStrategyMatrix 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: 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: RelationshipDefinitionSelectorsPatch x-oapi-codegen-extra-tags: json: patch type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: 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: 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 description: The patterns of the catalogcontentpage. filters: type: array items: type: object additionalProperties: true description: The filters of the catalogcontentpage. modelsCount: type: array items: type: object additionalProperties: true description: The models count of the catalogcontentpage. categoryCount: type: array items: type: object additionalProperties: true description: The category count of the catalogcontentpage. Design_CatalogRequest: type: object additionalProperties: true Design_CatalogRequestsPage: type: object 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 catalogRequests: type: array items: type: object additionalProperties: true description: The catalog requests of the catalogrequestspage. Design_CatalogContentClass: type: object properties: class: type: string description: The class of the catalogcontentclass. maxLength: 500 description: type: string description: Description of the catalogcontentclass. maxLength: 5000 additionalProperties: true Design_MesheryFilter: type: object additionalProperties: true Design_ResourceAccessMapping: type: object additionalProperties: true Design_ResourceAccessActorsResponse: type: object properties: users: type: array items: type: object additionalProperties: true description: The users of the resourceaccessactorsresponse. Events_UpdateEventStatusRequest: type: object required: - status properties: status: type: string example: completed description: Current status of the resource. maxLength: 255 Events_BulkDeleteRequest: type: object 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: The ids of the bulkdeleterequest. Events_BulkUpdateStatusRequest: type: object 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: The ids of the bulkupdatestatusrequest. status: type: string example: failed description: Current status of the resource. maxLength: 255 Events_EventResult: type: object additionalProperties: false description: EventResult entity schema. properties: user_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: user_id json: user_id x-go-name: UserID x-go-type-skip-optional-pointer: true system_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: system_id x-go-name: SystemID x-go-type-skip-optional-pointer: true 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 firstName: type: string description: The first name of the event. maxLength: 500 lastName: type: string description: The last name of the event. maxLength: 500 email: type: string format: email description: email x-go-type-skip-optional-pointer: true provider: type: string description: One of (x-oapi-codegen-extra-tags-cloud, github, google) x-go-type-skip-optional-pointer: true 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 required: - user_id - category - action Events_EventsPage: type: object 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 data: type: array items: type: object additionalProperties: false description: EventResult entity schema. properties: user_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: user_id json: user_id x-go-name: UserID x-go-type-skip-optional-pointer: true system_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: system_id x-go-name: SystemID x-go-type-skip-optional-pointer: true 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 firstName: type: string description: The first name of the event. maxLength: 500 lastName: type: string description: The last name of the event. maxLength: 500 email: type: string format: email description: email x-go-type-skip-optional-pointer: true provider: type: string description: One of (x-oapi-codegen-extra-tags-cloud, github, google) x-go-type-skip-optional-pointer: true 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 required: - user_id - category - action description: The data of the eventspage. Events_EventsAggregate: type: object properties: audit: type: integer description: The audit of the eventsaggregate. minimum: 0 additionalProperties: true Events_EventSummary: type: object additionalProperties: true Events_EventSummaryPage: type: object 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 additionalProperties: true description: The data of the eventsummarypage. Events_EventType: type: object properties: category: type: string description: The category of the eventtype. maxLength: 500 action: type: string description: The action of the eventtype. maxLength: 500 Events_ErrorResponse: type: object properties: error: type: string description: The error of the errorresponse. maxLength: 500 Invitation_Uuid: 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 Invitation_InvitationsPage: type: object required: - data - total properties: data: type: array items: type: object additionalProperties: false description: Invitation entity schema. required: - id - owner_id - name - description - org_id - accepted_by - emails - roles - teams - status - created_at - updated_at - deleted_at properties: id: x-go-name: ID description: Unique identifier for the invitation , is also used as the invitation code type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner_id: description: >- ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes x-oapi-codegen-extra-tags: db: owner_id json: owner_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid is_default: type: boolean description: >- Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation x-oapi-codegen-extra-tags: db: is_default json: is_default name: type: string description: >- Name of the invitation, which can be used to identify the invitation, required and cant be empty string, minLength: 1 maxLength: 255 description: type: string description: >- Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: >- Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses description: The emails of the invitation. org_id: description: ID of the organization to which the user is invited x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid expires_at: type: string format: date-time description: >- Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire x-oapi-codegen-extra-tags: db: expires_at json: expires_at quota: type: integer description: >- Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota minimum: 0 accepted_by: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet x-oapi-codegen-extra-tags: db: accepted_by json: accepted_by roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. created_at: type: string format: date-time description: Timestamp when the invitation was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: type: string format: date-time description: Timestamp when the invitation was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: type: string format: date-time x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core description: Timestamp when the invitation was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at x-go-type: Invitation description: List of invitations x-oapi-codegen-extra-tags: json: data total: type: integer description: Total number of invitations available x-oapi-codegen-extra-tags: json: total minimum: 0 Invitation_SignupRequest: type: object additionalProperties: true Invitation_SignupRequestsPage: type: object 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 additionalProperties: true description: The data of the signuprequestspage. Invitation_InvitationPayload: type: object description: Payload for creating or updating an invitation. required: - name - description - org_id - emails - roles - teams - status properties: id: x-go-name: ID description: Existing invitation ID for updates; omit on create. 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 owner_id: description: ID of the user who created the invitation. x-oapi-codegen-extra-tags: db: owner_id json: owner_id,omitempty type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid is_default: type: boolean description: Indicates whether the invitation is a default invitation (open invite). x-oapi-codegen-extra-tags: db: is_default json: is_default,omitempty name: type: string description: Name of the invitation. minLength: 1 maxLength: 255 description: type: string description: Description of the invitation. maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: The emails of the invitation. org_id: type: string description: ID of the organization to which the user is invited. x-oapi-codegen-extra-tags: db: org_id json: org_id maxLength: 500 format: uuid expires_at: type: string format: date-time description: Timestamp when the invitation expires, if applicable. x-oapi-codegen-extra-tags: db: expires_at json: expires_at,omitempty quota: type: integer description: Quota for the invitation. minimum: 0 roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. Invitation_InvitationStatus: type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. Invitation_Invitation: type: object additionalProperties: false description: Invitation entity schema. required: - id - owner_id - name - description - org_id - accepted_by - emails - roles - teams - status - created_at - updated_at - deleted_at properties: id: x-go-name: ID description: Unique identifier for the invitation , is also used as the invitation code type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid owner_id: description: >- ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes x-oapi-codegen-extra-tags: db: owner_id json: owner_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid is_default: type: boolean description: >- Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation x-oapi-codegen-extra-tags: db: is_default json: is_default name: type: string description: Name of the invitation, which can be used to identify the invitation, required and cant be empty string, minLength: 1 maxLength: 255 description: type: string description: >- Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description maxLength: 5000 emails: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$ x-go-type: string description: >- Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses description: The emails of the invitation. org_id: description: ID of the organization to which the user is invited x-oapi-codegen-extra-tags: db: org_id json: org_id type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid expires_at: type: string format: date-time description: >- Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire x-oapi-codegen-extra-tags: db: expires_at json: expires_at quota: type: integer description: >- Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota minimum: 0 accepted_by: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet x-oapi-codegen-extra-tags: db: accepted_by json: accepted_by roles: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles description: The roles of the invitation. teams: type: array x-go-type: pq.StringArray x-go-type-import: path: github.com/lib/pq items: type: string description: >- Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams description: The teams of the invitation. status: x-go-type: InvitationStatus type: string enum: - enabled - disabled description: >- Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later. created_at: type: string format: date-time description: Timestamp when the invitation was created x-oapi-codegen-extra-tags: db: created_at json: created_at updated_at: type: string format: date-time description: Timestamp when the invitation was last updated x-oapi-codegen-extra-tags: db: updated_at json: updated_at deleted_at: type: string format: date-time x-go-type: core.NullTime x-go-type-import: path: github.com/meshery/schemas/models/core description: Timestamp when the invitation was deleted, if applicable x-oapi-codegen-extra-tags: db: deleted_at json: deleted_at Plan_PlanPage: type: object required: - page - page_size - total_count - plans 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 plans: type: array items: type: object additionalProperties: false description: Plan entity schema. required: - id - name - cadence - unit - price_per_unit - minimum_units - currency properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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: x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name type: string description: Name of the plan x-enum-casing-exempt: true enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - none - monthly - annually unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units minimum: 0 price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit minimum: 0 currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd x-go-type: Plan description: The plans of the planpage. Plan_Plan: type: object additionalProperties: false description: Plan entity schema. required: - id - name - cadence - unit - price_per_unit - minimum_units - currency properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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: x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name type: string description: Name of the plan x-enum-casing-exempt: true enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - none - monthly - annually unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units minimum: 0 price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit minimum: 0 currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd Plan_PlanName: type: string description: Name of the plan x-enum-casing-exempt: true enum: - Free - Team Designer - Team Operator - Enterprise Plan_PlanCadence: type: string enum: - none - monthly - annually Plan_PlanUnit: type: string enum: - user - free Plan_Currency: type: string enum: - usd Relationship_MutatorRef: 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]. Relationship_MutatedRef: type: array items: type: array items: type: string description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. Relationship_RelationshipDefinitionSelectorsPatchStrategy: 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. 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 Relationship_RelationshipDefinitionSelectorsPatch: type: object description: Patch configuration for the selector x-go-name: RelationshipDefinitionSelectorsPatch properties: patchStrategy: x-oapi-codegen-extra-tags: 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. 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: 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: json: mutatedRef,omitempty type: array items: type: array items: type: string description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched. Relationship_RelationshipDefinitionMetadataStylesTextTransform: type: string description: A transformation to apply to the label text enum: - none - uppercase - lowercase Relationship_RelationshipDefinitionMetadataStylesLineStyle: type: string description: The style of the edge's line. enum: - solid - dotted - dashed Relationship_RelationshipDefinitionMetadataStylesCurveStyle: 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 Relationship_RelationshipDefinitionMetadataStylesLineCap: 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 Relationship_RelationshipDefinitionMetadataStylesArrowShape: type: string description: The shape of the edge's arrow enum: - triangle - triangle-tee - circle-triangle - triangle-cross - triangle-backcurve - vee - tee - square - circle - diamond - chevron - none Relationship_RelationshipDefinitionMetadataStylesMidTargetArrowShape: 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 Relationship_RelationshipDefinitionMetadataStylesMidTargetArrowFill: type: string description: The fill state of the edge's source arrow enum: - filled - hollow Relationship_RelationshipDefinitionMetadataStylesTargetArrowShape: 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 Relationship_RelationshipDefinitionMetadataStylesTargetArrowFill: type: string description: The fill state of the edge's source arrow enum: - filled - hollow Relationship_RelationshipMetadata: type: object description: Metadata contains additional information associated with the Relationship. additionalProperties: true x-go-name: RelationshipMetadata x-oapi-codegen-extra-tags: gorm: type:bytes;serializer:json 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: json: description maxLength: 5000 styles: x-go-type: RelationshipDefinitionMetadataStyles x-oapi-codegen-extra-tags: 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: json: primaryColor maxLength: 500 secondaryColor: type: string description: Secondary color of the entity used for UI representation. x-oapi-codegen-extra-tags: json: secondaryColor,omitempty maxLength: 500 svgWhite: type: string description: White SVG of the entity used for UI representation on dark background. x-oapi-codegen-extra-tags: json: svgWhite maxLength: 500 svgColor: type: string description: Colored SVG of the entity used for UI representation on light background. x-oapi-codegen-extra-tags: json: svgColor maxLength: 500 svgComplete: type: string description: Complete SVG of the entity used for UI representation, often inclusive of background. x-oapi-codegen-extra-tags: json: svgComplete,omitempty maxLength: 500 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: json: color,omitempty maxLength: 500 textOpacity: type: number format: float description: The opacity of the label text, including its outline. x-go-name: TextOpacity x-oapi-codegen-extra-tags: json: textOpacity,omitempty minimum: 0 maximum: 1 fontFamily: 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: json: fontFamily,omitempty maxLength: 500 fontSize: type: string description: The size of the label text. x-go-name: FontSize x-oapi-codegen-extra-tags: json: fontSize,omitempty maxLength: 500 fontStyle: type: string description: A CSS font style to be applied to the label text. x-go-name: FontStyle x-oapi-codegen-extra-tags: json: fontStyle,omitempty maxLength: 500 fontWeight: type: string description: A CSS font weight to be applied to the label text. x-go-name: FontWeight x-oapi-codegen-extra-tags: json: fontWeight,omitempty maxLength: 500 textTransform: description: A transformation to apply to the label text x-go-name: TextTransform x-oapi-codegen-extra-tags: json: textTransform,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: json: opacity,omitempty minimum: 0 maximum: 1 zIndex: 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: json: zIndex,omitempty minimum: 0 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: json: label,omitempty maxLength: 500 edgeAnimation: 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: json: edgeAnimation,omitempty maxLength: 500 curveStyle: x-go-name: CurveStyle x-oapi-codegen-extra-tags: json: curveStyle,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 lineColor: 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: json: lineColor,omitempty maxLength: 500 lineStyle: x-go-name: LineStyle x-oapi-codegen-extra-tags: json: lineStyle,omitempty type: string description: The style of the edge's line. enum: - solid - dotted - dashed lineCap: x-go-name: LineCap x-oapi-codegen-extra-tags: json: lineCap,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 lineOpacity: 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: json: lineOpacity,omitempty minimum: 0 maximum: 1 targetArrowColor: 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: json: targetArrowColor,omitempty maxLength: 500 targetArrowShape: x-go-name: TargetArrowShape x-oapi-codegen-extra-tags: json: targetArrowShape,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 targetArrowFill: x-go-name: TargetArrowFill x-oapi-codegen-extra-tags: json: targetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow midTargetArrowColor: 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: json: midTargetArrowColor,omitempty maxLength: 500 midTargetArrowShape: x-go-name: MidTargetArrowShape x-oapi-codegen-extra-tags: json: midTargetArrowShape,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 midTargetArrowFill: x-go-name: MidTargetArrowFill x-oapi-codegen-extra-tags: json: midTargetArrowFill,omitempty type: string description: The fill state of the edge's source arrow enum: - filled - hollow arrowScale: type: number format: float description: Scaling for the arrow size. x-go-name: ArrowScale x-oapi-codegen-extra-tags: json: arrowScale,omitempty minimum: 0 sourceLabel: 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: json: sourceLabel,omitempty maxLength: 500 targetLabel: 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: json: targetLabel,omitempty maxLength: 500 isAnnotation: type: boolean description: Indicates whether the relationship should be treated as a logical representation only x-oapi-codegen-extra-tags: json: isAnnotation Subscription_PaymentProcessor: type: string enum: - stripe - paypal - braintree description: Supported payment processors Subscription_CreateSubscriptionRequest: type: object properties: orgId: description: Organization ID type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid planId: type: string description: Price ID from the payment processor x-id-format: external maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ couponId: type: string description: Coupon ID to apply x-id-format: external maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ userCount: type: integer description: Number of users in the organization minimum: 0 email: type: string format: email description: Email of the customer paymentProcessor: type: string enum: - stripe - paypal - braintree description: Supported payment processors Subscription_UpgradeSubscriptionRequest: type: object properties: oldPlanId: description: Old Plan id that is being changed type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid newPlanId: description: New Plan id that is being changed to type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid Subscription_CreateSubscriptionResponse: type: object properties: subscriptionId: type: string description: ID of the associated subscription. x-id-format: external maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ clientSecret: type: string description: Client secret returned by the payment processor for the subscription checkout flow. maxLength: 500 Subscription_UpdateUsersRequest: type: object properties: paymentProcessor: type: string enum: - stripe - paypal - braintree description: Supported payment processors Subscription_CancelSubscriptionRequest: type: object properties: subscriptionId: type: string description: Subscription ID from the payment processor x-id-format: external maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ paymentProcessor: type: string enum: - stripe - paypal - braintree description: Supported payment processors Subscription_WebhookEvent: type: object description: Payload for webhook events from payment processors Subscription_SubscriptionPage: type: object required: - page - page_size - total_count - subscriptions 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 subscriptions: type: array items: x-go-type: Subscription type: object additionalProperties: false description: Subscription entity schema. required: - id - org_id - plan_id - billing_id - status - quantity properties: id: x-oapi-codegen-extra-tags: db: 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 org_id: x-oapi-codegen-extra-tags: db: org_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 plan_id: x-oapi-codegen-extra-tags: db: plan_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 plan: x-go-type: planv1beta2.Plan x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/plan name: planv1beta2 x-oapi-codegen-extra-tags: belongs_to: plans fk_id: PlanId json: plan,omitempty type: object additionalProperties: false description: Plan entity schema. required: - id - name - cadence - unit - price_per_unit - minimum_units - currency properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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: x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name type: string description: Name of the plan x-enum-casing-exempt: true enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - none - monthly - annually unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units minimum: 0 price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit minimum: 0 currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd quantity: description: number of units subscribed (eg number of users) type: integer x-oapi-codegen-extra-tags: db: quantity minimum: 0 start_date: x-oapi-codegen-extra-tags: db: start_date type: string format: date-time x-go-type-skip-optional-pointer: true end_date: x-oapi-codegen-extra-tags: db: end_date type: string format: date-time x-go-type-skip-optional-pointer: true status: x-go-type: SubscriptionStatus x-oapi-codegen-extra-tags: db: status type: string description: Possible statuses of a Stripe subscription. enum: - incomplete - incomplete_expired - trialing - active - past_due - canceled - unpaid x-enumDescriptions: incomplete: >- The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'. incomplete_expired: The subscription was created but never activated due to failed initial payment. It is now expired. trialing: The subscription is currently in a trial period before the first payment is due. active: The subscription is active, and billing is functioning normally. past_due: The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge. canceled: The subscription has been canceled and will no longer generate invoices. unpaid: >- The subscription is still technically active but has unpaid invoices and is no longer generating new invoices. created_at: x-oapi-codegen-extra-tags: db: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: x-oapi-codegen-extra-tags: db: deleted_at type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true billing_id: type: string description: Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe x-id-format: external x-oapi-codegen-extra-tags: db: billing_id maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ description: Subscriptions returned in the current page of results. Subscription_Subscription: type: object additionalProperties: false description: Subscription entity schema. required: - id - org_id - plan_id - billing_id - status - quantity properties: id: x-oapi-codegen-extra-tags: db: 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 org_id: x-oapi-codegen-extra-tags: db: org_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 plan_id: x-oapi-codegen-extra-tags: db: plan_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 plan: x-go-type: planv1beta2.Plan x-go-type-import: path: github.com/meshery/schemas/models/v1beta2/plan name: planv1beta2 x-oapi-codegen-extra-tags: belongs_to: plans fk_id: PlanId json: plan,omitempty type: object additionalProperties: false description: Plan entity schema. required: - id - name - cadence - unit - price_per_unit - minimum_units - currency properties: id: x-oapi-codegen-extra-tags: db: id json: id csv: 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: x-go-type: PlanName x-oapi-codegen-extra-tags: db: name json: name csv: name type: string description: Name of the plan x-enum-casing-exempt: true enum: - Free - Team Designer - Team Operator - Enterprise cadence: x-go-type: PlanCadence x-oapi-codegen-extra-tags: db: cadence json: cadence csv: cadence type: string enum: - none - monthly - annually unit: x-go-type: PlanUnit x-oapi-codegen-extra-tags: db: unit json: unit csv: unit type: string enum: - user - free minimum_units: type: integer description: Minimum number of units required for the plan x-oapi-codegen-extra-tags: db: minimum_units json: minimum_units csv: minimum_units minimum: 0 price_per_unit: type: number description: Price per unit of the plan x-oapi-codegen-extra-tags: db: price_per_unit json: price_per_unit csv: price_per_unit minimum: 0 currency: x-go-type: Currency x-oapi-codegen-extra-tags: db: currency json: currency csv: currency type: string enum: - usd quantity: description: number of units subscribed (eg number of users) type: integer x-oapi-codegen-extra-tags: db: quantity minimum: 0 start_date: x-oapi-codegen-extra-tags: db: start_date type: string format: date-time x-go-type-skip-optional-pointer: true end_date: x-oapi-codegen-extra-tags: db: end_date type: string format: date-time x-go-type-skip-optional-pointer: true status: x-go-type: SubscriptionStatus x-oapi-codegen-extra-tags: db: status type: string description: Possible statuses of a Stripe subscription. enum: - incomplete - incomplete_expired - trialing - active - past_due - canceled - unpaid x-enumDescriptions: incomplete: >- The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'. incomplete_expired: The subscription was created but never activated due to failed initial payment. It is now expired. trialing: The subscription is currently in a trial period before the first payment is due. active: The subscription is active, and billing is functioning normally. past_due: The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge. canceled: The subscription has been canceled and will no longer generate invoices. unpaid: >- The subscription is still technically active but has unpaid invoices and is no longer generating new invoices. created_at: x-oapi-codegen-extra-tags: db: created_at type: string format: date-time x-go-type-skip-optional-pointer: true updated_at: x-oapi-codegen-extra-tags: db: updated_at type: string format: date-time x-go-type-skip-optional-pointer: true deleted_at: x-oapi-codegen-extra-tags: db: deleted_at type: string format: date-time x-go-type: sql.NullTime x-go-type-import: path: database/sql x-go-type-skip-optional-pointer: true billing_id: type: string description: Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe x-id-format: external x-oapi-codegen-extra-tags: db: billing_id maxLength: 500 pattern: ^[A-Za-z0-9_\-]+$ Subscription_SubscriptionStatus: type: string description: Possible statuses of a Stripe subscription. enum: - incomplete - incomplete_expired - trialing - active - past_due - canceled - unpaid x-enumDescriptions: incomplete: >- The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'. incomplete_expired: The subscription was created but never activated due to failed initial payment. It is now expired. trialing: The subscription is currently in a trial period before the first payment is due. active: The subscription is active, and billing is functioning normally. past_due: The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge. canceled: The subscription has been canceled and will no longer generate invoices. unpaid: The subscription is still technically active but has unpaid invoices and is no longer generating new invoices. token_UserToken: type: object additionalProperties: false description: Represents a user-owned API token or OAuth session. properties: id: description: Unique identifier for the token. 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 user_id: description: UUID of the user who owns the token. x-order: 2 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 provider: type: string description: Authentication provider associated with the token. x-order: 3 x-oapi-codegen-extra-tags: db: provider maxLength: 500 access_token: type: string description: Access token value. x-order: 4 x-oapi-codegen-extra-tags: db: access_token maxLength: 4096 refresh_token: type: string description: Refresh token value when applicable. x-order: 5 x-oapi-codegen-extra-tags: db: refresh_token maxLength: 4096 name: type: string description: Human-readable token name. x-order: 6 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 purpose: type: string description: Purpose for which the token was created. x-order: 7 x-oapi-codegen-extra-tags: db: purpose maxLength: 500 is_oauth: type: boolean description: Whether this entry represents an OAuth session. x-order: 8 x-oapi-codegen-extra-tags: db: is_oauth created_at: x-order: 9 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: 10 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 - user_id - provider token_TokenPage: type: object description: A paginated list of tokens. required: - tokens - total_count - page - page_size properties: tokens: type: array items: x-go-type: UserToken type: object additionalProperties: false description: Represents a user-owned API token or OAuth session. properties: id: description: Unique identifier for the token. 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 user_id: description: UUID of the user who owns the token. x-order: 2 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 provider: type: string description: Authentication provider associated with the token. x-order: 3 x-oapi-codegen-extra-tags: db: provider maxLength: 500 access_token: type: string description: Access token value. x-order: 4 x-oapi-codegen-extra-tags: db: access_token maxLength: 4096 refresh_token: type: string description: Refresh token value when applicable. x-order: 5 x-oapi-codegen-extra-tags: db: refresh_token maxLength: 4096 name: type: string description: Human-readable token name. x-order: 6 x-oapi-codegen-extra-tags: db: name minLength: 1 maxLength: 255 purpose: type: string description: Purpose for which the token was created. x-order: 7 x-oapi-codegen-extra-tags: db: purpose maxLength: 500 is_oauth: type: boolean description: Whether this entry represents an OAuth session. x-order: 8 x-oapi-codegen-extra-tags: db: is_oauth created_at: x-order: 9 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: 10 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 - user_id - provider x-order: 1 description: The tokens of the tokenpage. total_count: type: integer description: Total number of tokens 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 tokens per page. x-order: 4 minimum: 1 responses: Badge_400: description: Invalid request body or request param content: text/plain: schema: type: string Badge_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Badge_404: description: Result not found content: text/plain: schema: type: string Badge_500: description: Internal server error content: text/plain: schema: type: string credential_400: description: Invalid request body or request param content: text/plain: schema: type: string credential_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string credential_404: description: Result not found content: text/plain: schema: type: string credential_500: description: Internal server error content: text/plain: schema: type: string Environment_200: description: ok content: text/plain: schema: type: string Environment_400: description: Invalid request body or request param content: text/plain: schema: type: string Environment_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Environment_404: description: Result not found content: text/plain: schema: type: string Environment_500: description: Internal server error content: text/plain: schema: type: string Evaluation_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Key_400: description: Invalid request body or request param content: text/plain: schema: type: string Key_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Key_404: description: Result not found content: text/plain: schema: type: string Key_500: description: Internal server error content: text/plain: schema: type: string Keychain_400: description: Invalid request body or request param content: text/plain: schema: type: string Keychain_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Keychain_404: description: Result not found content: text/plain: schema: type: string Keychain_500: description: Internal server error content: text/plain: schema: type: string Model_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Organization_400: description: Invalid request body or request param content: text/plain: schema: type: string Organization_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Organization_404: description: Result not found content: text/plain: schema: type: string Organization_500: description: Internal server error content: text/plain: schema: type: string role_400: description: Invalid request body or request param content: text/plain: schema: type: string role_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string role_404: description: Result not found content: text/plain: schema: type: string role_500: description: Internal server error content: text/plain: schema: type: string schedule_400: description: Invalid request body or request param content: text/plain: schema: type: string schedule_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string schedule_404: description: Result not found content: text/plain: schema: type: string schedule_500: description: Internal server error content: text/plain: schema: type: string Team_200: description: ok content: text/plain: schema: type: string Team_400: description: Invalid request body or request param content: text/plain: schema: type: string Team_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Team_404: description: Result not found content: text/plain: schema: type: string Team_500: description: Internal server error content: text/plain: schema: type: string User_400: description: Invalid request body or request param content: text/plain: schema: type: string User_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string User_404: description: Result not found content: text/plain: schema: type: string User_500: description: Internal server error content: text/plain: schema: type: string View_200: description: ok content: text/plain: schema: type: string View_400: description: Invalid request body or request param content: text/plain: schema: type: string View_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string View_404: description: Result not found content: text/plain: schema: type: string View_500: description: Internal server error content: text/plain: schema: type: string Workspace_200: description: ok content: text/plain: schema: type: string Workspace_400: description: Invalid request body or request param content: text/plain: schema: type: string Workspace_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Workspace_404: description: Result not found content: text/plain: schema: type: string Workspace_500: description: Internal server error content: text/plain: schema: type: string Academy_API_400: description: Invalid request body or request param content: text/plain: schema: type: string Academy_API_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Academy_API_404: description: Result not found content: text/plain: schema: type: string Academy_API_500: description: Internal server error content: text/plain: schema: type: string Connection_API_400: description: Invalid request body or request param content: text/plain: schema: type: string Connection_API_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Connection_API_404: description: Result not found content: text/plain: schema: type: string Connection_API_500: description: Internal server error content: text/plain: schema: type: string Design_400: description: Invalid request body or request param content: text/plain: schema: type: string Design_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Design_404: description: Result not found content: text/plain: schema: type: string Design_500: description: Internal server error content: text/plain: schema: type: string Events_400: description: Invalid request body or request param content: text/plain: schema: type: string Events_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Events_404: description: Result not found content: text/plain: schema: type: string Events_500: description: Internal server error content: text/plain: schema: type: string Invitation_400: description: Invalid request body or request param content: text/plain: schema: type: string Invitation_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Invitation_404: description: Result not found content: text/plain: schema: type: string Invitation_500: description: Internal server error content: text/plain: schema: type: string Plan_400: description: Invalid request body or request param content: text/plain: schema: type: string Plan_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Plan_500: description: Internal server error content: text/plain: schema: type: string Subscription_400: description: Invalid request body or request param content: text/plain: schema: type: string Subscription_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string Subscription_404: description: Result not found content: text/plain: schema: type: string Subscription_500: description: Internal server error content: text/plain: schema: type: string token_400: description: Invalid request body or request param content: text/plain: schema: type: string token_401: description: Expired JWT token used or insufficient privilege content: text/plain: schema: type: string token_404: description: Result not found content: text/plain: schema: type: string token_500: description: Internal server error content: text/plain: schema: type: string securitySchemes: Badge_jwt: type: http scheme: bearer bearerFormat: JWT credential_jwt: type: http scheme: bearer bearerFormat: JWT Environment_jwt: type: http scheme: bearer bearerFormat: JWT Evaluation_jwt: type: http scheme: bearer bearerFormat: JWT Feature_jwt: type: http scheme: bearer bearerFormat: JWT Key_jwt: type: http scheme: bearer bearerFormat: JWT Keychain_jwt: type: http scheme: bearer bearerFormat: JWT Model_jwt: type: http scheme: bearer bearerFormat: JWT Organization_jwt: type: http scheme: bearer bearerFormat: JWT role_jwt: type: http scheme: bearer bearerFormat: JWT schedule_jwt: type: http scheme: bearer bearerFormat: JWT Team_jwt: type: http scheme: bearer bearerFormat: JWT User_jwt: type: http scheme: bearer bearerFormat: JWT View_jwt: type: http scheme: bearer bearerFormat: JWT Workspace_jwt: type: http scheme: bearer bearerFormat: JWT Academy_API_jwt: type: http scheme: bearer bearerFormat: JWT Connection_API_jwt: type: http scheme: bearer bearerFormat: JWT Design_jwt: type: http scheme: bearer bearerFormat: JWT Events_jwt: type: http scheme: bearer bearerFormat: JWT Invitation_jwt: type: http scheme: bearer bearerFormat: JWT Plan_jwt: type: http scheme: bearer bearerFormat: JWT Subscription_jwt: type: http scheme: bearer bearerFormat: JWT token_jwt: type: http scheme: bearer bearerFormat: JWT parameters: credential_id: name: id 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 credential_credentialId: 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 credential_page: name: page in: query description: Get responses by page schema: type: string credential_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string credential_search: name: search in: query description: Get responses that match search param value schema: type: string credential_order: name: order in: query description: Get ordered responses schema: type: string Environment_environmentId: 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 Environment_search: name: search in: query description: Get responses that match search param value schema: type: string Environment_order: name: order in: query description: Get ordered responses schema: type: string Environment_page: name: page in: query description: Get responses by page schema: type: string Environment_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string Environment_orgIdQuery: name: orgId in: query description: User's organization ID schema: type: string required: true Feature_organization_id: name: organizationId in: path description: The ID of the organization required: true schema: type: string format: uuid x-go-type: uuid.UUID x-go-type-import: path: github.com/gofrs/uuid Key_orgId: 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 Key_keyId: name: keyId in: path description: Key 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 Key_page: name: page in: query description: Get responses by page schema: type: string Key_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string Key_order: name: order in: query description: Get ordered responses schema: type: string Key_search: name: search in: query description: Get responses that match search param value schema: type: string Keychain_keyId: name: keyId in: path description: Key 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 Keychain_keychainId: name: keychainId in: path description: Keychain 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 Keychain_page: name: page in: query description: Get responses by page schema: type: string Keychain_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string Keychain_order: name: order in: query description: Get ordered responses schema: type: string Keychain_search: name: search in: query description: Get responses that match search param value schema: type: string Organization_orgId: name: orgId in: path required: true 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 Organization_page: name: page in: query description: Get responses by page schema: type: string Organization_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string Organization_search: name: search in: query description: Get responses that match search param value schema: type: string Organization_order: name: order in: query description: Get ordered responses schema: type: string Organization_all: name: all in: query description: Get all possible entries schema: type: boolean Organization_teamId: name: teamId in: path required: true 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 role_id: name: id in: path description: Role 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 role_orgId: 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 role_roleId: name: roleId in: path description: Role 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 role_keychainId: name: keychainId in: path description: Keychain 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 role_page: name: page in: query description: Get responses by page schema: type: string role_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string role_search: name: search in: query description: Get responses that match search param value schema: type: string role_order: name: order in: query description: Get ordered responses schema: type: string role_all: name: all in: query description: Get all possible entries schema: type: boolean role_selector: name: selector in: query description: Role grouping selector such as provider, organization, or team. schema: type: string role_teamId: name: teamId in: query description: Team ID used when selector is team. 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 schedule_id: name: id in: path description: Schedule 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 schedule_page: name: page in: query description: Get responses by page schema: type: string schedule_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string schedule_search: name: search in: query description: Get responses that match search param value schema: type: string schedule_order: name: order in: query description: Get ordered responses schema: type: string Team_teamId: 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 Team_orgId: 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 Team_search: name: search in: query description: Get responses that match search param value schema: type: string Team_order: name: order in: query description: Get ordered responses schema: type: string Team_page: name: page in: query description: Get responses by page schema: type: string Team_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string User_id: 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 User_orgId: 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 User_page: name: page in: query description: Get responses by page schema: type: string User_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string User_search: name: search in: query description: Get responses that match search param value schema: type: string User_order: name: order in: query description: Get ordered responses schema: type: string User_filter: name: filter in: query description: Get filtered reponses schema: type: string User_teamId: name: teamId in: query required: false description: Optional team filter when listing organization users 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 View_viewId: 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 View_search: name: search in: query description: Get responses that match search param value schema: type: string View_order: name: order in: query description: Get ordered responses schema: type: string View_page: name: page in: query description: Get responses by page schema: type: string View_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string View_orgIdQuery: name: orgId in: query description: Organization ID to scope the request. schema: type: string required: false Workspace_workspaceId: 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 Workspace_teamId: 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 Workspace_environmentId: 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 Workspace_designId: 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 Workspace_viewId: 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 Workspace_search: name: search in: query description: Get responses that match search param value schema: type: string Workspace_order: name: order in: query description: Get ordered responses schema: type: string Workspace_page: name: page in: query description: Get responses by page schema: type: string Workspace_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string Workspace_filter: name: filter in: query description: JSON-encoded filter string used for assignment and soft-delete filters. schema: type: string Academy_API_id: name: id in: path required: true description: The ID of the curricula schema: type: string Connection_API_connectionId: name: connectionId in: path required: true description: Connection ID schema: type: string format: uuid Connection_API_connectionKind: name: connectionKind in: path required: true description: Connection kind (meshery, kubernetes, prometheus, grafana, etc.) schema: type: string Connection_API_environmentId: name: environmentId in: path required: true description: Environment ID schema: type: string format: uuid Connection_API_page: name: page in: query description: Page number required: false schema: type: integer default: 0 Connection_API_pagesize: name: pagesize in: query description: Number of items per page required: false schema: type: integer default: 10 Connection_API_search: name: search in: query description: Search term required: false schema: type: string Connection_API_order: name: order in: query description: Sort order required: false schema: type: string Design_id: name: id in: path description: Design (Pattern) 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 Design_page: name: page in: query description: Get responses by page schema: type: string Design_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string Design_search: name: search in: query description: Get responses that match search param value schema: type: string Design_order: name: order in: query description: Get ordered responses schema: type: string Events_workspaceId: 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 Events_page: name: page in: query description: Get responses by page schema: type: string Events_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string Events_search: name: search in: query description: Get responses that match search param value schema: type: string Events_order: name: order in: query description: Get ordered responses schema: type: string Events_cumulative: name: cumulative in: query required: false schema: type: boolean Events_filter: name: filter in: query description: Get filtered reponses schema: type: string Events_eventsFilter: name: filter in: query description: Get filtered reponses schema: type: string Invitation_organization_id: name: organizationId in: path required: true description: The ID of the organization schema: type: string Invitation_invitation_id: name: invitationId in: path required: true description: The ID of the invitation schema: type: string Subscription_subscriptionId: name: subscriptionId in: path required: true description: Subscription ID schema: type: string Subscription_page: name: page in: query description: Get responses by page schema: type: string Subscription_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string Subscription_pagesizeWithAll: name: pagesize in: query description: Get responses by pagesize (pass all to get all responses) schema: type: string Subscription_order: name: order in: query description: Get ordered responses schema: type: string token_id: name: id in: path description: Token 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 token_page: name: page in: query description: Get responses by page schema: type: string token_pagesize: name: pagesize in: query description: Get responses by pagesize schema: type: string token_search: name: search in: query description: Get responses that match search param value schema: type: string token_order: name: order in: query description: Get ordered responses schema: type: string token_isOAuth: name: isOAuth in: query description: Whether to retrieve OAuth-backed sessions instead of API tokens. schema: type: boolean token_name: name: name in: query description: Name of the token. required: true schema: type: string token_purpose: name: purpose in: query description: Purpose for which the token is generated. schema: type: string token_tokenId: name: tokenId in: query description: ID of the token. 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 token_userId: name: userId in: query description: UUID of the user. 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 token_provider: name: provider in: query description: Remote provider. required: true schema: type: string requestBodies: Environment_environmentPayload: description: Body for creating environment required: true content: application/json: schema: 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 & credentail. 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 organization_id: 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: organization_id maxLength: 500 format: uuid required: - name - organization_id Organization_organizationPayload: description: Body for creating or updating an organization required: true content: application/json: schema: type: object properties: name: type: string x-go-type-skip-optional-pointer: true country: type: string x-go-type-skip-optional-pointer: true region: type: string x-go-type-skip-optional-pointer: true description: type: string x-go-type-skip-optional-pointer: true notifyOrgUpdate: type: boolean description: The notify org update of the organization. preferences: type: object required: - theme - dashboard properties: theme: x-go-type: Theme type: object required: - id - logo properties: id: type: string description: Theme ID. maxLength: 500 format: uuid logo: x-go-type: Logo type: object required: - desktopView - mobileView - darkDesktopView - darkMobileView properties: desktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 mobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkDesktopView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 darkMobileView: x-go-type: Location type: object required: - svg - location properties: svg: type: string description: The svg of the location. maxLength: 500 location: type: string description: The location of the location. maxLength: 500 vars: type: object additionalProperties: true description: The vars of the theme. dashboard: x-go-type: DashboardPrefs type: object description: Preferences specific to dashboard behavior additionalProperties: true Team_teamPayload: 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 Team_teamUpdatePayload: 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 View_viewPayload: description: Body for creating or updating a view required: true content: application/json: schema: type: object description: Payload for creating or updating a view. required: - name properties: name: type: string description: Display name of the view. maxLength: 255 minLength: 1 x-oapi-codegen-extra-tags: json: name,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: json: filters,omitempty visibility: type: string description: Visibility level of the view. maxLength: 255 x-oapi-codegen-extra-tags: json: visibility,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: json: metadata,omitempty Workspace_workspacePayload: description: Body for creating a workspace required: true content: application/json: schema: type: object description: Payload for creating a workspace. required: - name - organization_id 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 organization_id: 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: organization_id,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 Workspace_workspaceUpdatePayload: description: Body for updating a workspace required: true content: application/json: schema: type: object description: Payload for updating a workspace. required: - organization_id 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 organization_id: 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: organization_id,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 Design_catalogContentPayload: required: true content: application/json: schema: type: object additionalProperties: true Design_resourceSharePayload: required: true content: application/json: schema: type: object additionalProperties: true