@meshery/schemas 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  - 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.
3
3
  - maintenance: model is unavailable for a period of time.
4
4
  - enabled: model is available for use for all users of this Meshery Server.
5
- - 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","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"},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)"},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)"},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:1e3,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:5e3},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:'<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.405 8.732v6.57l5.694-3.297-5.694-3.273Zm0 7.942v6.602l5.747-3.285-5.747-3.317Z" fill="#fff"/><path d="M15.586 15.256v-6.47l-5.622 3.225 5.622 3.245ZM4.307 23.252a13.809 13.809 0 0 0 4.362 4.39v-6.914l-4.362 2.524Zm11.279-.008v-6.52L9.95 19.985l5.636 3.258Z" fill="#fff" fill-opacity=".8"/><path d="m9.49 27.23 5.707-3.263-5.707-3.3v6.563Z" fill="#fff"/><path d="M22.54 27.265v-6.553l-5.699 3.259 5.7 3.294Zm5.58-4.773a13.697 13.697 0 0 0 1.612-5.895l-5.934 3.397 4.323 2.498Z" fill="#fff" fill-opacity=".8"/><path d="m23.362 19.298 5.728-3.276-5.728-3.291v6.567Z" fill="#fff"/><path d="M22.541 11.315V4.8l-5.673 3.253 5.673 3.262Zm0 7.955v-6.574l-5.685 3.292 5.685 3.281Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 12.684v6.622l5.728-3.316-5.728-3.306Z" fill="#fff"/><path d="M15.586 2.25a13.69 13.69 0 0 0-6.037 1.595l6.037 3.463V2.25Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 4.756v6.583l5.732-3.288L9.49 4.756Z" fill="#fff"/><path d="M8.669 4.356a13.83 13.83 0 0 0-4.362 4.39l4.362 2.518V4.356Z" fill="#fff" fill-opacity=".8"/><path d="M22.504 3.88a13.695 13.695 0 0 0-6.099-1.63v5.123l6.1-3.493ZM2.25 16.483c.071 2.12.634 4.196 1.644 6.062l4.418-2.559-6.062-3.503Zm1.644-7.028a13.68 13.68 0 0 0-1.644 6.036l6.068-3.482-4.424-2.554Z" fill="#fff"/><path d="M9.539 28.147a13.673 13.673 0 0 0 6.047 1.603v-5.062L9.54 28.147Z" fill="#fff" fill-opacity=".8"/><path d="M27.697 8.768a13.83 13.83 0 0 0-4.335-4.383v6.889l4.335-2.506ZM23.362 27.62a13.851 13.851 0 0 0 4.351-4.417l-4.351-2.514v6.93Z" fill="#fff"/><path d="M29.75 15.452a13.659 13.659 0 0 0-1.63-5.979l-4.381 2.53 6.011 3.45Z" fill="#fff" fill-opacity=".8"/><path d="M16.405 29.75a13.673 13.673 0 0 0 6.036-1.595l-6.036-3.498v5.093Z" fill="#fff"/><path d="M8.669 19.247v-6.494L3.03 15.986l5.639 3.261Z" fill="#fff" fill-opacity=".8"/></svg>'},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:'<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 134.95 135.02"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}</style></defs><title>meshery-logo-light</title><polygon points="69.49 31.82 69.49 64.07 97.44 47.89 69.49 31.82" class="cls-1"/><polygon points="69.49 70.81 69.49 103.22 97.7 87.09 69.49 70.81" class="cls-1"/><polygon points="65.47 63.85 65.47 32.09 37.87 47.92 65.47 63.85" class="cls-2"/><path d="M10.1,103.1a67.79,67.79,0,0,0,21.41,21.55V90.71Z" class="cls-2"/><polygon points="65.47 103.06 65.47 71.05 37.8 87.07 65.47 103.06" class="cls-2"/><polygon points="35.54 122.63 63.56 106.61 35.54 90.41 35.54 122.63" class="cls-1"/><polygon points="99.61 122.8 99.61 90.63 71.63 106.63 99.61 122.8" class="cls-2"/><path d="M127,99.37a67.22,67.22,0,0,0,7.91-28.94L105.78,87.11Z" class="cls-2"/><polygon points="103.64 83.69 131.76 67.61 103.64 51.45 103.64 83.69" class="cls-1"/><polygon points="99.61 44.5 99.61 12.52 71.76 28.49 99.61 44.5" class="cls-2"/><polygon points="99.61 83.55 99.61 51.28 71.7 67.44 99.61 83.55" class="cls-2"/><polygon points="67.48 135.02 67.49 135.02 67.48 135.02 67.48 135.02" class="cls-2"/><polygon points="35.54 51.22 35.54 83.73 63.66 67.45 35.54 51.22" class="cls-1"/><path d="M65.47,0A67.2,67.2,0,0,0,35.83,7.83l29.64,17Z" class="cls-2"/><polygon points="35.54 12.3 35.54 44.62 63.68 28.48 35.54 12.3" class="cls-1"/><path d="M31.51,10.34A67.89,67.89,0,0,0,10.1,31.89L31.51,44.25Z" class="cls-2"/><path d="M99.43,8A67.23,67.23,0,0,0,69.49,0V25.15Z" class="cls-1"/><path d="M0,69.87A67.27,67.27,0,0,0,8.07,99.63L29.76,87.07Z" class="cls-1"/><path d="M8.07,35.37A67.16,67.16,0,0,0,0,65L29.79,47.91Z" class="cls-1"/><path d="M35.78,127.13A67.13,67.13,0,0,0,65.47,135V110.15Z" class="cls-2"/><path d="M124.92,32a67.9,67.9,0,0,0-21.28-21.52V44.3Z" class="cls-1"/><path d="M103.64,124.54A68,68,0,0,0,125,102.86L103.64,90.52Z" class="cls-1"/><path d="M135,64.81a67.06,67.06,0,0,0-8-29.35L105.49,47.88Z" class="cls-2"/><path d="M69.49,135a67.12,67.12,0,0,0,29.63-7.83L69.49,110Z" class="cls-1"/><polygon points="31.51 83.44 31.51 51.56 3.83 67.43 31.51 83.44" class="cls-2"/></svg>'},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":"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:5e3},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:
5
+ - 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","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"},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)"},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)"},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:1e3,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:5e3},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:'<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.405 8.732v6.57l5.694-3.297-5.694-3.273Zm0 7.942v6.602l5.747-3.285-5.747-3.317Z" fill="#fff"/><path d="M15.586 15.256v-6.47l-5.622 3.225 5.622 3.245ZM4.307 23.252a13.809 13.809 0 0 0 4.362 4.39v-6.914l-4.362 2.524Zm11.279-.008v-6.52L9.95 19.985l5.636 3.258Z" fill="#fff" fill-opacity=".8"/><path d="m9.49 27.23 5.707-3.263-5.707-3.3v6.563Z" fill="#fff"/><path d="M22.54 27.265v-6.553l-5.699 3.259 5.7 3.294Zm5.58-4.773a13.697 13.697 0 0 0 1.612-5.895l-5.934 3.397 4.323 2.498Z" fill="#fff" fill-opacity=".8"/><path d="m23.362 19.298 5.728-3.276-5.728-3.291v6.567Z" fill="#fff"/><path d="M22.541 11.315V4.8l-5.673 3.253 5.673 3.262Zm0 7.955v-6.574l-5.685 3.292 5.685 3.281Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 12.684v6.622l5.728-3.316-5.728-3.306Z" fill="#fff"/><path d="M15.586 2.25a13.69 13.69 0 0 0-6.037 1.595l6.037 3.463V2.25Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 4.756v6.583l5.732-3.288L9.49 4.756Z" fill="#fff"/><path d="M8.669 4.356a13.83 13.83 0 0 0-4.362 4.39l4.362 2.518V4.356Z" fill="#fff" fill-opacity=".8"/><path d="M22.504 3.88a13.695 13.695 0 0 0-6.099-1.63v5.123l6.1-3.493ZM2.25 16.483c.071 2.12.634 4.196 1.644 6.062l4.418-2.559-6.062-3.503Zm1.644-7.028a13.68 13.68 0 0 0-1.644 6.036l6.068-3.482-4.424-2.554Z" fill="#fff"/><path d="M9.539 28.147a13.673 13.673 0 0 0 6.047 1.603v-5.062L9.54 28.147Z" fill="#fff" fill-opacity=".8"/><path d="M27.697 8.768a13.83 13.83 0 0 0-4.335-4.383v6.889l4.335-2.506ZM23.362 27.62a13.851 13.851 0 0 0 4.351-4.417l-4.351-2.514v6.93Z" fill="#fff"/><path d="M29.75 15.452a13.659 13.659 0 0 0-1.63-5.979l-4.381 2.53 6.011 3.45Z" fill="#fff" fill-opacity=".8"/><path d="M16.405 29.75a13.673 13.673 0 0 0 6.036-1.595l-6.036-3.498v5.093Z" fill="#fff"/><path d="M8.669 19.247v-6.494L3.03 15.986l5.639 3.261Z" fill="#fff" fill-opacity=".8"/></svg>'},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:'<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 134.95 135.02"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}</style></defs><title>meshery-logo-light</title><polygon points="69.49 31.82 69.49 64.07 97.44 47.89 69.49 31.82" class="cls-1"/><polygon points="69.49 70.81 69.49 103.22 97.7 87.09 69.49 70.81" class="cls-1"/><polygon points="65.47 63.85 65.47 32.09 37.87 47.92 65.47 63.85" class="cls-2"/><path d="M10.1,103.1a67.79,67.79,0,0,0,21.41,21.55V90.71Z" class="cls-2"/><polygon points="65.47 103.06 65.47 71.05 37.8 87.07 65.47 103.06" class="cls-2"/><polygon points="35.54 122.63 63.56 106.61 35.54 90.41 35.54 122.63" class="cls-1"/><polygon points="99.61 122.8 99.61 90.63 71.63 106.63 99.61 122.8" class="cls-2"/><path d="M127,99.37a67.22,67.22,0,0,0,7.91-28.94L105.78,87.11Z" class="cls-2"/><polygon points="103.64 83.69 131.76 67.61 103.64 51.45 103.64 83.69" class="cls-1"/><polygon points="99.61 44.5 99.61 12.52 71.76 28.49 99.61 44.5" class="cls-2"/><polygon points="99.61 83.55 99.61 51.28 71.7 67.44 99.61 83.55" class="cls-2"/><polygon points="67.48 135.02 67.49 135.02 67.48 135.02 67.48 135.02" class="cls-2"/><polygon points="35.54 51.22 35.54 83.73 63.66 67.45 35.54 51.22" class="cls-1"/><path d="M65.47,0A67.2,67.2,0,0,0,35.83,7.83l29.64,17Z" class="cls-2"/><polygon points="35.54 12.3 35.54 44.62 63.68 28.48 35.54 12.3" class="cls-1"/><path d="M31.51,10.34A67.89,67.89,0,0,0,10.1,31.89L31.51,44.25Z" class="cls-2"/><path d="M99.43,8A67.23,67.23,0,0,0,69.49,0V25.15Z" class="cls-1"/><path d="M0,69.87A67.27,67.27,0,0,0,8.07,99.63L29.76,87.07Z" class="cls-1"/><path d="M8.07,35.37A67.16,67.16,0,0,0,0,65L29.79,47.91Z" class="cls-1"/><path d="M35.78,127.13A67.13,67.13,0,0,0,65.47,135V110.15Z" class="cls-2"/><path d="M124.92,32a67.9,67.9,0,0,0-21.28-21.52V44.3Z" class="cls-1"/><path d="M103.64,124.54A68,68,0,0,0,125,102.86L103.64,90.52Z" class="cls-1"/><path d="M135,64.81a67.06,67.06,0,0,0-8-29.35L105.49,47.88Z" class="cls-2"/><path d="M69.49,135a67.12,67.12,0,0,0,29.63-7.83L69.49,110Z" class="cls-1"/><polygon points="31.51 83.44 31.51 51.56 3.83 67.43 31.51 83.44" class="cls-2"/></svg>'},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:5e3},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:
6
6
  - 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.
7
7
  - maintenance: model is unavailable for a period of time.
8
8
  - enabled: model is available for use for all users of this Meshery Server.
@@ -2,7 +2,7 @@ var e={openapi:"3.0.0",info:{title:"Component",description:"OpenAPI schema for c
2
2
  - 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.
3
3
  - maintenance: model is unavailable for a period of time.
4
4
  - enabled: model is available for use for all users of this Meshery Server.
5
- - 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","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"},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)"},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)"},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:1e3,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:5e3},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:'<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.405 8.732v6.57l5.694-3.297-5.694-3.273Zm0 7.942v6.602l5.747-3.285-5.747-3.317Z" fill="#fff"/><path d="M15.586 15.256v-6.47l-5.622 3.225 5.622 3.245ZM4.307 23.252a13.809 13.809 0 0 0 4.362 4.39v-6.914l-4.362 2.524Zm11.279-.008v-6.52L9.95 19.985l5.636 3.258Z" fill="#fff" fill-opacity=".8"/><path d="m9.49 27.23 5.707-3.263-5.707-3.3v6.563Z" fill="#fff"/><path d="M22.54 27.265v-6.553l-5.699 3.259 5.7 3.294Zm5.58-4.773a13.697 13.697 0 0 0 1.612-5.895l-5.934 3.397 4.323 2.498Z" fill="#fff" fill-opacity=".8"/><path d="m23.362 19.298 5.728-3.276-5.728-3.291v6.567Z" fill="#fff"/><path d="M22.541 11.315V4.8l-5.673 3.253 5.673 3.262Zm0 7.955v-6.574l-5.685 3.292 5.685 3.281Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 12.684v6.622l5.728-3.316-5.728-3.306Z" fill="#fff"/><path d="M15.586 2.25a13.69 13.69 0 0 0-6.037 1.595l6.037 3.463V2.25Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 4.756v6.583l5.732-3.288L9.49 4.756Z" fill="#fff"/><path d="M8.669 4.356a13.83 13.83 0 0 0-4.362 4.39l4.362 2.518V4.356Z" fill="#fff" fill-opacity=".8"/><path d="M22.504 3.88a13.695 13.695 0 0 0-6.099-1.63v5.123l6.1-3.493ZM2.25 16.483c.071 2.12.634 4.196 1.644 6.062l4.418-2.559-6.062-3.503Zm1.644-7.028a13.68 13.68 0 0 0-1.644 6.036l6.068-3.482-4.424-2.554Z" fill="#fff"/><path d="M9.539 28.147a13.673 13.673 0 0 0 6.047 1.603v-5.062L9.54 28.147Z" fill="#fff" fill-opacity=".8"/><path d="M27.697 8.768a13.83 13.83 0 0 0-4.335-4.383v6.889l4.335-2.506ZM23.362 27.62a13.851 13.851 0 0 0 4.351-4.417l-4.351-2.514v6.93Z" fill="#fff"/><path d="M29.75 15.452a13.659 13.659 0 0 0-1.63-5.979l-4.381 2.53 6.011 3.45Z" fill="#fff" fill-opacity=".8"/><path d="M16.405 29.75a13.673 13.673 0 0 0 6.036-1.595l-6.036-3.498v5.093Z" fill="#fff"/><path d="M8.669 19.247v-6.494L3.03 15.986l5.639 3.261Z" fill="#fff" fill-opacity=".8"/></svg>'},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:'<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 134.95 135.02"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}</style></defs><title>meshery-logo-light</title><polygon points="69.49 31.82 69.49 64.07 97.44 47.89 69.49 31.82" class="cls-1"/><polygon points="69.49 70.81 69.49 103.22 97.7 87.09 69.49 70.81" class="cls-1"/><polygon points="65.47 63.85 65.47 32.09 37.87 47.92 65.47 63.85" class="cls-2"/><path d="M10.1,103.1a67.79,67.79,0,0,0,21.41,21.55V90.71Z" class="cls-2"/><polygon points="65.47 103.06 65.47 71.05 37.8 87.07 65.47 103.06" class="cls-2"/><polygon points="35.54 122.63 63.56 106.61 35.54 90.41 35.54 122.63" class="cls-1"/><polygon points="99.61 122.8 99.61 90.63 71.63 106.63 99.61 122.8" class="cls-2"/><path d="M127,99.37a67.22,67.22,0,0,0,7.91-28.94L105.78,87.11Z" class="cls-2"/><polygon points="103.64 83.69 131.76 67.61 103.64 51.45 103.64 83.69" class="cls-1"/><polygon points="99.61 44.5 99.61 12.52 71.76 28.49 99.61 44.5" class="cls-2"/><polygon points="99.61 83.55 99.61 51.28 71.7 67.44 99.61 83.55" class="cls-2"/><polygon points="67.48 135.02 67.49 135.02 67.48 135.02 67.48 135.02" class="cls-2"/><polygon points="35.54 51.22 35.54 83.73 63.66 67.45 35.54 51.22" class="cls-1"/><path d="M65.47,0A67.2,67.2,0,0,0,35.83,7.83l29.64,17Z" class="cls-2"/><polygon points="35.54 12.3 35.54 44.62 63.68 28.48 35.54 12.3" class="cls-1"/><path d="M31.51,10.34A67.89,67.89,0,0,0,10.1,31.89L31.51,44.25Z" class="cls-2"/><path d="M99.43,8A67.23,67.23,0,0,0,69.49,0V25.15Z" class="cls-1"/><path d="M0,69.87A67.27,67.27,0,0,0,8.07,99.63L29.76,87.07Z" class="cls-1"/><path d="M8.07,35.37A67.16,67.16,0,0,0,0,65L29.79,47.91Z" class="cls-1"/><path d="M35.78,127.13A67.13,67.13,0,0,0,65.47,135V110.15Z" class="cls-2"/><path d="M124.92,32a67.9,67.9,0,0,0-21.28-21.52V44.3Z" class="cls-1"/><path d="M103.64,124.54A68,68,0,0,0,125,102.86L103.64,90.52Z" class="cls-1"/><path d="M135,64.81a67.06,67.06,0,0,0-8-29.35L105.49,47.88Z" class="cls-2"/><path d="M69.49,135a67.12,67.12,0,0,0,29.63-7.83L69.49,110Z" class="cls-1"/><polygon points="31.51 83.44 31.51 51.56 3.83 67.43 31.51 83.44" class="cls-2"/></svg>'},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":"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:5e3},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:
5
+ - 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","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"},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)"},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)"},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:1e3,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:5e3},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:'<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.405 8.732v6.57l5.694-3.297-5.694-3.273Zm0 7.942v6.602l5.747-3.285-5.747-3.317Z" fill="#fff"/><path d="M15.586 15.256v-6.47l-5.622 3.225 5.622 3.245ZM4.307 23.252a13.809 13.809 0 0 0 4.362 4.39v-6.914l-4.362 2.524Zm11.279-.008v-6.52L9.95 19.985l5.636 3.258Z" fill="#fff" fill-opacity=".8"/><path d="m9.49 27.23 5.707-3.263-5.707-3.3v6.563Z" fill="#fff"/><path d="M22.54 27.265v-6.553l-5.699 3.259 5.7 3.294Zm5.58-4.773a13.697 13.697 0 0 0 1.612-5.895l-5.934 3.397 4.323 2.498Z" fill="#fff" fill-opacity=".8"/><path d="m23.362 19.298 5.728-3.276-5.728-3.291v6.567Z" fill="#fff"/><path d="M22.541 11.315V4.8l-5.673 3.253 5.673 3.262Zm0 7.955v-6.574l-5.685 3.292 5.685 3.281Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 12.684v6.622l5.728-3.316-5.728-3.306Z" fill="#fff"/><path d="M15.586 2.25a13.69 13.69 0 0 0-6.037 1.595l6.037 3.463V2.25Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 4.756v6.583l5.732-3.288L9.49 4.756Z" fill="#fff"/><path d="M8.669 4.356a13.83 13.83 0 0 0-4.362 4.39l4.362 2.518V4.356Z" fill="#fff" fill-opacity=".8"/><path d="M22.504 3.88a13.695 13.695 0 0 0-6.099-1.63v5.123l6.1-3.493ZM2.25 16.483c.071 2.12.634 4.196 1.644 6.062l4.418-2.559-6.062-3.503Zm1.644-7.028a13.68 13.68 0 0 0-1.644 6.036l6.068-3.482-4.424-2.554Z" fill="#fff"/><path d="M9.539 28.147a13.673 13.673 0 0 0 6.047 1.603v-5.062L9.54 28.147Z" fill="#fff" fill-opacity=".8"/><path d="M27.697 8.768a13.83 13.83 0 0 0-4.335-4.383v6.889l4.335-2.506ZM23.362 27.62a13.851 13.851 0 0 0 4.351-4.417l-4.351-2.514v6.93Z" fill="#fff"/><path d="M29.75 15.452a13.659 13.659 0 0 0-1.63-5.979l-4.381 2.53 6.011 3.45Z" fill="#fff" fill-opacity=".8"/><path d="M16.405 29.75a13.673 13.673 0 0 0 6.036-1.595l-6.036-3.498v5.093Z" fill="#fff"/><path d="M8.669 19.247v-6.494L3.03 15.986l5.639 3.261Z" fill="#fff" fill-opacity=".8"/></svg>'},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:'<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 134.95 135.02"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}</style></defs><title>meshery-logo-light</title><polygon points="69.49 31.82 69.49 64.07 97.44 47.89 69.49 31.82" class="cls-1"/><polygon points="69.49 70.81 69.49 103.22 97.7 87.09 69.49 70.81" class="cls-1"/><polygon points="65.47 63.85 65.47 32.09 37.87 47.92 65.47 63.85" class="cls-2"/><path d="M10.1,103.1a67.79,67.79,0,0,0,21.41,21.55V90.71Z" class="cls-2"/><polygon points="65.47 103.06 65.47 71.05 37.8 87.07 65.47 103.06" class="cls-2"/><polygon points="35.54 122.63 63.56 106.61 35.54 90.41 35.54 122.63" class="cls-1"/><polygon points="99.61 122.8 99.61 90.63 71.63 106.63 99.61 122.8" class="cls-2"/><path d="M127,99.37a67.22,67.22,0,0,0,7.91-28.94L105.78,87.11Z" class="cls-2"/><polygon points="103.64 83.69 131.76 67.61 103.64 51.45 103.64 83.69" class="cls-1"/><polygon points="99.61 44.5 99.61 12.52 71.76 28.49 99.61 44.5" class="cls-2"/><polygon points="99.61 83.55 99.61 51.28 71.7 67.44 99.61 83.55" class="cls-2"/><polygon points="67.48 135.02 67.49 135.02 67.48 135.02 67.48 135.02" class="cls-2"/><polygon points="35.54 51.22 35.54 83.73 63.66 67.45 35.54 51.22" class="cls-1"/><path d="M65.47,0A67.2,67.2,0,0,0,35.83,7.83l29.64,17Z" class="cls-2"/><polygon points="35.54 12.3 35.54 44.62 63.68 28.48 35.54 12.3" class="cls-1"/><path d="M31.51,10.34A67.89,67.89,0,0,0,10.1,31.89L31.51,44.25Z" class="cls-2"/><path d="M99.43,8A67.23,67.23,0,0,0,69.49,0V25.15Z" class="cls-1"/><path d="M0,69.87A67.27,67.27,0,0,0,8.07,99.63L29.76,87.07Z" class="cls-1"/><path d="M8.07,35.37A67.16,67.16,0,0,0,0,65L29.79,47.91Z" class="cls-1"/><path d="M35.78,127.13A67.13,67.13,0,0,0,65.47,135V110.15Z" class="cls-2"/><path d="M124.92,32a67.9,67.9,0,0,0-21.28-21.52V44.3Z" class="cls-1"/><path d="M103.64,124.54A68,68,0,0,0,125,102.86L103.64,90.52Z" class="cls-1"/><path d="M135,64.81a67.06,67.06,0,0,0-8-29.35L105.49,47.88Z" class="cls-2"/><path d="M69.49,135a67.12,67.12,0,0,0,29.63-7.83L69.49,110Z" class="cls-1"/><polygon points="31.51 83.44 31.51 51.56 3.83 67.43 31.51 83.44" class="cls-2"/></svg>'},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:5e3},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:
6
6
  - 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.
7
7
  - maintenance: model is unavailable for a period of time.
8
8
  - enabled: model is available for use for all users of this Meshery Server.