@meshery/schemas 1.0.4 → 1.0.6
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.
- package/README.md +12 -20
- package/dist/cloudApi.d.mts +3982 -3542
- package/dist/cloudApi.d.ts +3982 -3542
- package/dist/cloudApi.js +1 -1
- package/dist/cloudApi.mjs +1 -1
- package/dist/constructs/v1alpha3/relationship/RelationshipSchema.js +1 -1
- package/dist/constructs/v1alpha3/relationship/RelationshipSchema.mjs +1 -1
- package/dist/constructs/v1beta1/credential/CredentialSchema.js +4 -4
- package/dist/constructs/v1beta1/credential/CredentialSchema.mjs +4 -4
- package/dist/constructs/v1beta1/environment/EnvironmentSchema.js +1 -1
- package/dist/constructs/v1beta1/environment/EnvironmentSchema.mjs +1 -1
- package/dist/constructs/v1beta1/evaluation/EvaluationSchema.js +4 -4
- package/dist/constructs/v1beta1/evaluation/EvaluationSchema.mjs +4 -4
- package/dist/constructs/v1beta1/feature/FeatureSchema.js +1 -1
- package/dist/constructs/v1beta1/feature/FeatureSchema.mjs +1 -1
- package/dist/constructs/v1beta1/pattern/Pattern.d.mts +0 -160
- package/dist/constructs/v1beta1/pattern/Pattern.d.ts +0 -160
- package/dist/constructs/v1beta1/pattern/PatternSchema.js +13 -13
- package/dist/constructs/v1beta1/pattern/PatternSchema.mjs +13 -13
- package/dist/constructs/v1beta1/view/View.d.mts +674 -0
- package/dist/constructs/v1beta1/view/View.d.ts +674 -0
- package/dist/constructs/v1beta1/view/View.js +1 -0
- package/dist/constructs/v1beta1/view/View.mjs +0 -0
- package/dist/constructs/v1beta1/view/ViewSchema.d.mts +7 -0
- package/dist/constructs/v1beta1/view/ViewSchema.d.ts +7 -0
- package/dist/constructs/v1beta1/view/ViewSchema.js +2 -0
- package/dist/constructs/v1beta1/view/ViewSchema.mjs +2 -0
- package/dist/constructs/v1beta1/workspace/Workspace.d.mts +61 -19
- package/dist/constructs/v1beta1/workspace/Workspace.d.ts +61 -19
- package/dist/constructs/v1beta1/workspace/WorkspaceSchema.js +5 -5
- package/dist/constructs/v1beta1/workspace/WorkspaceSchema.mjs +5 -5
- package/dist/constructs/v1beta2/design/Design.d.mts +0 -168
- package/dist/constructs/v1beta2/design/Design.d.ts +0 -168
- package/dist/constructs/v1beta2/design/DesignSchema.js +13 -13
- package/dist/constructs/v1beta2/design/DesignSchema.mjs +13 -13
- package/dist/constructs/v1beta2/relationship/RelationshipSchema.js +1 -1
- package/dist/constructs/v1beta2/relationship/RelationshipSchema.mjs +1 -1
- package/dist/index.js +33 -33
- package/dist/index.mjs +33 -33
- package/dist/mesheryApi.d.mts +7612 -2453
- package/dist/mesheryApi.d.ts +7612 -2453
- package/dist/mesheryApi.js +1 -1
- package/dist/mesheryApi.mjs +1 -1
- package/package.json +2 -2
|
@@ -6,7 +6,7 @@ var e={openapi:"3.0.0",info:{title:"Design",description:"OpenAPI schema for mana
|
|
|
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.
|
|
9
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
9
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
10
10
|
|
|
11
11
|
add: Inserts a value into an array or adds a member to an object.
|
|
12
12
|
replace: Replaces a value.
|
|
@@ -54,7 +54,7 @@ test: Tests that a value at the target location is equal to a specified value.
|
|
|
54
54
|
- 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.
|
|
55
55
|
- maintenance: model is unavailable for a period of time.
|
|
56
56
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
57
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
57
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
58
58
|
|
|
59
59
|
add: Inserts a value into an array or adds a member to an object.
|
|
60
60
|
replace: Replaces a value.
|
|
@@ -102,7 +102,7 @@ test: Tests that a value at the target location is equal to a specified value.
|
|
|
102
102
|
- 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.
|
|
103
103
|
- maintenance: model is unavailable for a period of time.
|
|
104
104
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
105
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
105
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
106
106
|
|
|
107
107
|
add: Inserts a value into an array or adds a member to an object.
|
|
108
108
|
replace: Replaces a value.
|
|
@@ -150,7 +150,7 @@ test: Tests that a value at the target location is equal to a specified value.
|
|
|
150
150
|
- 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.
|
|
151
151
|
- maintenance: model is unavailable for a period of time.
|
|
152
152
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
153
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
153
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
154
154
|
|
|
155
155
|
add: Inserts a value into an array or adds a member to an object.
|
|
156
156
|
replace: Replaces a value.
|
|
@@ -198,7 +198,7 @@ test: Tests that a value at the target location is equal to a specified value.
|
|
|
198
198
|
- 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.
|
|
199
199
|
- maintenance: model is unavailable for a period of time.
|
|
200
200
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
201
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
201
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
202
202
|
|
|
203
203
|
add: Inserts a value into an array or adds a member to an object.
|
|
204
204
|
replace: Replaces a value.
|
|
@@ -246,7 +246,7 @@ test: Tests that a value at the target location is equal to a specified value.
|
|
|
246
246
|
- 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.
|
|
247
247
|
- maintenance: model is unavailable for a period of time.
|
|
248
248
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
249
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
249
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
250
250
|
|
|
251
251
|
add: Inserts a value into an array or adds a member to an object.
|
|
252
252
|
replace: Replaces a value.
|
|
@@ -286,7 +286,7 @@ remove: Removes a value.
|
|
|
286
286
|
copy: Copies a value from one location to another.
|
|
287
287
|
move: Moves a value from one location to another.
|
|
288
288
|
test: Tests that a value at the target location is equal to a specified value.
|
|
289
|
-
`,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}}},filters:{type:"array",items:{type:"object",additionalProperties:true}},modelsCount:{type:"array",items:{type:"object",additionalProperties:true}},categoryCount:{type:"array",items:{type:"object",additionalProperties:true}}}}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],tags:["designs"],summary:"Publish catalog content",operationId:"publishCatalogContent",parameters:[{name:"type",in:"path",required:true,schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Catalog request result",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/content/{type}/unpublish":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Unpublish catalog content",operationId:"unPublishCatalogContent",parameters:[{name:"type",in:"path",required:true,schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Catalog request result",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/content/classes":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get catalog content classes",operationId:"getCatalogContentClasses",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}}],responses:{200:{description:"Catalog content classes",content:{"application/json":{schema:{type:"array",items:{type:"object",properties:{class:{type:"string"},description:{type:"string"}},additionalProperties:true}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/requests/approve":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Approve a catalog request",operationId:"approveCatalogRequest",requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{201:{description:"Request approved",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/requests/deny":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Deny a catalog request",operationId:"denyCatalogRequest",requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{201:{description:"Request denied",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/filters/{id}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get filter by ID",operationId:"getFilter",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],responses:{200:{description:"Filter",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/filters/clone/{id}":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Clone filter",operationId:"cloneFilter",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Cloned filter",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/views/{viewId}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get a view by ID",operationId:"getViewById",parameters:[{name:"viewId",in:"path",required:true,schema:{type:"string"}}],responses:{200:{description:"View",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{"x-internal":["cloud"],tags:["designs"],summary:"Update a view",operationId:"updateView",parameters:[{name:"viewId",in:"path",required:true,schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Updated view",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/views":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get views",operationId:"getViews",parameters:[{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"filter",in:"query",required:false,schema:{type:"string"}},{name:"shared",in:"query",required:false,schema:{type:"boolean"}},{name:"visibility",in:"query",required:false,schema:{type:"string"}},{name:"orgId",in:"query",required:false,schema:{type:"string"}},{name:"userId",in:"query",required:false,schema:{type:"string"}}],responses:{200:{description:"Views page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},views:{type:"array",items:{type:"object",additionalProperties:true}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/resource/{resourceType}/share/{resourceId}":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Share a resource",operationId:"handleResourceShare",parameters:[{name:"resourceType",in:"path",required:true,schema:{type:"string"}},{name:"resourceId",in:"path",required:true,schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Resource access mapping",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/resource/{resourceType}/share/{resourceId}/{actorType}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get resource access actors by type",operationId:"getResourceAccessActorsByType",parameters:[{name:"resourceType",in:"path",required:true,schema:{type:"string"}},{name:"resourceId",in:"path",required:true,schema:{type:"string"}},{name:"actorType",in:"path",required:true,schema:{type:"string"}}],responses:{200:{description:"Resource access actors",content:{"application/json":{schema:{type:"object",properties:{users:{type:"array",items:{type:"object",additionalProperties:true}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/requests":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get catalog requests",operationId:"getCatalogRequest",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"filter",in:"query",required:false,schema:{type:"string"}}],responses:{200:{description:"Catalog requests page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},catalogRequests:{type:"array",items:{type:"object",additionalProperties:true}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},responses:{400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},parameters:{id:{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}},page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},pagesize:{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},search:{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},order:{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}}},schemas:{DeletePatternModel:{type:"object",properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true}}},PatternFile:{$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{default:"v0.0.1","x-order":4,description:"Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number.",minLength:1,maxLength:50,type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},metadata:{type:"object","x-order":5,additionalProperties:true,properties:{resolvedAliases:{description:"Map of resolved aliases present in the design",type:"object","x-go-type":"map[string]core.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationship_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},alias_component_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_ref_field_path:{type:"array",items:{type:"string"}}},required:["relationship_id","alias_component_id","immediate_parent_id","immediate_ref_field_path"]},{type:"object",properties:{resolved_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolved_ref_field_path:{type:"array",items:{type:"string"}}},required:["resolved_parent_id","resolved_ref_field_path"]}]}}}},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readible format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the model definition.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",helperText:"Model name should be in lowercase with hyphens, not whitespaces.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"name",json:"name"},default:"untitled-model"},displayName:{description:"Human-readable name for the model.",helperText:"Model display name may include letters, numbers, and spaces. Special characters are not allowed.",minLength:1,maxLength:100,type:"string",pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"],"x-order":5,"x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},default:"Untitled Model"},description:{type:"string",default:"A new Meshery model.",description:"Description of the model.",minLength:1,maxLength:1e3,"x-order":6,"x-oapi-codegen-extra-tags":{yaml:"description,omitempty",json:"description,omitempty"}},status:{type:"string",description:`Status of model, including:
|
|
289
|
+
`,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}}},filters:{type:"array",items:{type:"object",additionalProperties:true}},modelsCount:{type:"array",items:{type:"object",additionalProperties:true}},categoryCount:{type:"array",items:{type:"object",additionalProperties:true}}}}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],tags:["designs"],summary:"Publish catalog content",operationId:"publishCatalogContent",parameters:[{name:"type",in:"path",required:true,schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Catalog request result",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/content/{type}/unpublish":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Unpublish catalog content",operationId:"unPublishCatalogContent",parameters:[{name:"type",in:"path",required:true,schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Catalog request result",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/content/classes":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get catalog content classes",operationId:"getCatalogContentClasses",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}}],responses:{200:{description:"Catalog content classes",content:{"application/json":{schema:{type:"array",items:{type:"object",properties:{class:{type:"string"},description:{type:"string"}},additionalProperties:true}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/requests/approve":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Approve a catalog request",operationId:"approveCatalogRequest",requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{201:{description:"Request approved",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/requests/deny":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Deny a catalog request",operationId:"denyCatalogRequest",requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{201:{description:"Request denied",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/filters/{id}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get filter by ID",operationId:"getFilter",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],responses:{200:{description:"Filter",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/filters/clone/{id}":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Clone filter",operationId:"cloneFilter",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Cloned filter",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/resource/{resourceType}/share/{resourceId}":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Share a resource",operationId:"handleResourceShare",parameters:[{name:"resourceType",in:"path",required:true,schema:{type:"string"}},{name:"resourceId",in:"path",required:true,schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Resource access mapping",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/resource/{resourceType}/share/{resourceId}/{actorType}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get resource access actors by type",operationId:"getResourceAccessActorsByType",parameters:[{name:"resourceType",in:"path",required:true,schema:{type:"string"}},{name:"resourceId",in:"path",required:true,schema:{type:"string"}},{name:"actorType",in:"path",required:true,schema:{type:"string"}}],responses:{200:{description:"Resource access actors",content:{"application/json":{schema:{type:"object",properties:{users:{type:"array",items:{type:"object",additionalProperties:true}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/requests":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get catalog requests",operationId:"getCatalogRequest",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"filter",in:"query",required:false,schema:{type:"string"}}],responses:{200:{description:"Catalog requests page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},catalogRequests:{type:"array",items:{type:"object",additionalProperties:true}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},responses:{400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},parameters:{id:{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}},page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},pagesize:{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},search:{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},order:{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}}},schemas:{DeletePatternModel:{type:"object",properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true}}},PatternFile:{$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{default:"v0.0.1","x-order":4,description:"Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number.",minLength:1,maxLength:50,type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},metadata:{type:"object","x-order":5,additionalProperties:true,properties:{resolvedAliases:{description:"Map of resolved aliases present in the design",type:"object","x-go-type":"map[string]core.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationship_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},alias_component_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_ref_field_path:{type:"array",items:{type:"string"}}},required:["relationship_id","alias_component_id","immediate_parent_id","immediate_ref_field_path"]},{type:"object",properties:{resolved_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolved_ref_field_path:{type:"array",items:{type:"string"}}},required:["resolved_parent_id","resolved_ref_field_path"]}]}}}},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readible format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the model definition.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",helperText:"Model name should be in lowercase with hyphens, not whitespaces.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"name",json:"name"},default:"untitled-model"},displayName:{description:"Human-readable name for the model.",helperText:"Model display name may include letters, numbers, and spaces. Special characters are not allowed.",minLength:1,maxLength:100,type:"string",pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"],"x-order":5,"x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},default:"Untitled Model"},description:{type:"string",default:"A new Meshery model.",description:"Description of the model.",minLength:1,maxLength:1e3,"x-order":6,"x-oapi-codegen-extra-tags":{yaml:"description,omitempty",json:"description,omitempty"}},status:{type:"string",description:`Status of model, including:
|
|
290
290
|
- 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.
|
|
291
291
|
- maintenance: model is unavailable for a period of time.
|
|
292
292
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
@@ -294,7 +294,7 @@ test: Tests that a value at the target location is equal to a specified value.
|
|
|
294
294
|
- 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.
|
|
295
295
|
- maintenance: model is unavailable for a period of time.
|
|
296
296
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
297
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
297
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
298
298
|
|
|
299
299
|
add: Inserts a value into an array or adds a member to an object.
|
|
300
300
|
replace: Replaces a value.
|
|
@@ -342,7 +342,7 @@ test: Tests that a value at the target location is equal to a specified value.
|
|
|
342
342
|
- 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.
|
|
343
343
|
- maintenance: model is unavailable for a period of time.
|
|
344
344
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
345
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
345
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
346
346
|
|
|
347
347
|
add: Inserts a value into an array or adds a member to an object.
|
|
348
348
|
replace: Replaces a value.
|
|
@@ -390,7 +390,7 @@ test: Tests that a value at the target location is equal to a specified value.
|
|
|
390
390
|
- 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.
|
|
391
391
|
- maintenance: model is unavailable for a period of time.
|
|
392
392
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
393
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
393
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
394
394
|
|
|
395
395
|
add: Inserts a value into an array or adds a member to an object.
|
|
396
396
|
replace: Replaces a value.
|
|
@@ -438,7 +438,7 @@ test: Tests that a value at the target location is equal to a specified value.
|
|
|
438
438
|
- 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.
|
|
439
439
|
- maintenance: model is unavailable for a period of time.
|
|
440
440
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
441
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
441
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
442
442
|
|
|
443
443
|
add: Inserts a value into an array or adds a member to an object.
|
|
444
444
|
replace: Replaces a value.
|
|
@@ -486,7 +486,7 @@ test: Tests that a value at the target location is equal to a specified value.
|
|
|
486
486
|
- 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.
|
|
487
487
|
- maintenance: model is unavailable for a period of time.
|
|
488
488
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
489
|
-
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{yaml:"metadata",json:"metadata,omitempty",gorm:"type:bytes;serializer:json"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{yaml:"selectors,omitempty",json:"selectors,omitempty",gorm:"type:bytes;serializer:json"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
489
|
+
- ignored: model is unavailable for use for all users of this Meshery Server.`,default:"enabled",enum:["ignored","enabled","duplicate","resolved","open"],"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},metadata:{"x-order":11,type:"object",description:"Metadata contains additional information associated with the component.",required:["genealogy","isAnnotation","isNamespaced","published","instanceDetails","configurationUISchema"],properties:{genealogy:{"x-order":1,type:"string",description:"Genealogy represents the various representational states of the component."},isAnnotation:{"x-order":2,type:"boolean",description:"Identifies whether the component is semantically meaningful or not; identifies whether the component should be treated as deployable entity or is for purposes of logical representation.",default:false},isNamespaced:{"x-order":3,type:"boolean",description:"Identifies whether the component is scoped to namespace or clsuter wide."},published:{"x-order":4,type:"boolean",description:"'published' controls whether the component should be registered in Meshery Registry. When the same 'published' property in Models, is set to 'false', the Model property takes precedence with all Entities in the Model not being registered."},instanceDetails:{"x-order":5,type:"object",description:"InstanceDetails contains information about the instance of the component."},configurationUISchema:{"x-order":6,type:"string",description:"Defines the UI schema for rendering the component's configuration. For more details, visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ ."}},"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},additionalProperties:true},configuration:{"x-order":12,description:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).",type:"object",$comment:"The configuration of the component. The configuration is based on the schema defined within the component definition(component.schema).","x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"}},component:{"x-order":13,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},"x-go-type":"Component",description:"data related to the third party capability that Component Defintion wraps , this is herematicaly sealed an",type:"object",properties:{version:{type:"string",description:"Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.","x-order":1},kind:{type:"string",description:"The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of kind 'Pod'.","x-order":2},schema:{type:"string",description:"JSON schema of the object as defined by the registrant.","x-order":3}},required:["version","kind","schema"]},created_at:{"x-order":14,description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{"x-order":15,description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true}},required:["id","displayName","description","schemaVersion","format","version","configuration","metadata","model","modelReference","component"]}]}},preferences:{"x-go-type":"DesignPreferences",type:"object",description:"Design-level preferences","x-order":7,properties:{layers:{type:"object",description:"Map of available layers, where keys are layer names."}},required:["layers"]},relationships:{description:"List of relationships between components",type:"array","x-order":8,"x-go-type":"[]*relationship.RelationshipDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/relationship",name:"relationship"},items:{allOf:[{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"}},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"}},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1alpha1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha1/capability",name:"capabilityv1alpha1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the capability definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{description:"Name of the capability in human-readible format.",type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{type:"string",description:"A written representation of the purpose and characteristics of the capability.",maxLength: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":{yaml:"capabilities",json:"capabilities,omitempty",gorm:"type:bytes;serializer:json"}},metadata:{"x-go-type":"Relationship_Metadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},modelId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,"x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"}},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{yaml:"allow",json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{yaml:"match,omitempty",json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"refs,omitempty",json:"refs,omitempty"}},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"from,omitempty",json:"from,omitempty"}},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{yaml:"to,omitempty",json:"to,omitempty"}}}},match_strategy_matrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{yaml:"match_strategy_matrix",json:"match_strategy_matrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{yaml:"model",json:"model,omitempty"},type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinition_Selectors_Patch","x-oapi-codegen-extra-tags":{yaml:"patch",json:"patch"},type:"object",description:"Patch configuration for the selector",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{yaml:"patchStrategy,omitempty",json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
|
|
490
490
|
|
|
491
491
|
add: Inserts a value into an array or adds a member to an object.
|
|
492
492
|
replace: Replaces a value.
|
|
@@ -526,5 +526,5 @@ remove: Removes a value.
|
|
|
526
526
|
copy: Copies a value from one location to another.
|
|
527
527
|
move: Moves a value from one location to another.
|
|
528
528
|
test: Tests that a value at the target location is equal to a specified value.
|
|
529
|
-
`,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}}},filters:{type:"array",items:{type:"object",additionalProperties:true}},modelsCount:{type:"array",items:{type:"object",additionalProperties:true}},categoryCount:{type:"array",items:{type:"object",additionalProperties:true}}}},CatalogRequest:{type:"object",additionalProperties:true},CatalogRequestsPage:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},catalogRequests:{type:"array",items:{type:"object",additionalProperties:true}}}},CatalogContentClass:{type:"object",properties:{class:{type:"string"},description:{type:"string"}},additionalProperties:true},MesheryFilter:{type:"object",additionalProperties:true},
|
|
529
|
+
`,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}}},filters:{type:"array",items:{type:"object",additionalProperties:true}},modelsCount:{type:"array",items:{type:"object",additionalProperties:true}},categoryCount:{type:"array",items:{type:"object",additionalProperties:true}}}},CatalogRequest:{type:"object",additionalProperties:true},CatalogRequestsPage:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},catalogRequests:{type:"array",items:{type:"object",additionalProperties:true}}}},CatalogContentClass:{type:"object",properties:{class:{type:"string"},description:{type:"string"}},additionalProperties:true},MesheryFilter:{type:"object",additionalProperties:true},ResourceAccessMapping:{type:"object",additionalProperties:true},ResourceAccessActorsResponse:{type:"object",properties:{users:{type:"array",items:{type:"object",additionalProperties:true}}}}},requestBodies:{catalogContentPayload:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},resourceSharePayload:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}}}}},t=e;
|
|
530
530
|
export{t as default};
|