@meshery/schemas 1.0.7 → 1.0.9

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.
Files changed (43) hide show
  1. package/dist/{Core-B0SJO-By.d.mts → Core-CwYNKnjf.d.mts} +10 -1
  2. package/dist/{Core-B0SJO-By.d.ts → Core-CwYNKnjf.d.ts} +10 -1
  3. package/dist/cloudApi.d.mts +373 -18
  4. package/dist/cloudApi.d.ts +373 -18
  5. package/dist/cloudApi.js +1 -1
  6. package/dist/cloudApi.mjs +1 -1
  7. package/dist/constructs/v1alpha1/core/Core.d.mts +1 -1
  8. package/dist/constructs/v1alpha1/core/Core.d.ts +1 -1
  9. package/dist/constructs/v1alpha1/core/CoreSchema.js +1 -1
  10. package/dist/constructs/v1alpha1/core/CoreSchema.mjs +1 -1
  11. package/dist/constructs/v1beta1/core/Core.d.mts +10 -1
  12. package/dist/constructs/v1beta1/core/Core.d.ts +10 -1
  13. package/dist/constructs/v1beta1/core/CoreSchema.js +1 -1
  14. package/dist/constructs/v1beta1/core/CoreSchema.mjs +1 -1
  15. package/dist/constructs/v1beta1/model/Model.d.mts +3 -12
  16. package/dist/constructs/v1beta1/model/Model.d.ts +3 -12
  17. package/dist/constructs/v1beta1/model/ModelSchema.js +2 -2
  18. package/dist/constructs/v1beta1/model/ModelSchema.mjs +2 -2
  19. package/dist/constructs/v1beta1/pattern/Pattern.d.mts +108 -7
  20. package/dist/constructs/v1beta1/pattern/Pattern.d.ts +108 -7
  21. package/dist/constructs/v1beta1/pattern/PatternSchema.js +12 -2
  22. package/dist/constructs/v1beta1/pattern/PatternSchema.mjs +12 -2
  23. package/dist/constructs/v1beta1/view/View.d.mts +128 -0
  24. package/dist/constructs/v1beta1/view/View.d.ts +128 -0
  25. package/dist/constructs/v1beta1/view/ViewSchema.js +12 -1
  26. package/dist/constructs/v1beta1/view/ViewSchema.mjs +12 -1
  27. package/dist/constructs/v1beta2/core/Core.d.mts +10 -1
  28. package/dist/constructs/v1beta2/core/Core.d.ts +10 -1
  29. package/dist/constructs/v1beta2/core/CoreSchema.js +1 -1
  30. package/dist/constructs/v1beta2/core/CoreSchema.mjs +1 -1
  31. package/dist/constructs/v1beta2/design/Design.d.mts +239 -7
  32. package/dist/constructs/v1beta2/design/Design.d.ts +239 -7
  33. package/dist/constructs/v1beta2/design/DesignSchema.js +25 -5
  34. package/dist/constructs/v1beta2/design/DesignSchema.mjs +25 -5
  35. package/dist/index.d.mts +1 -1
  36. package/dist/index.d.ts +1 -1
  37. package/dist/index.js +41 -10
  38. package/dist/index.mjs +41 -10
  39. package/dist/mesheryApi.d.mts +10 -7
  40. package/dist/mesheryApi.d.ts +10 -7
  41. package/dist/mesheryApi.js +1 -1
  42. package/dist/mesheryApi.mjs +1 -1
  43. package/package.json +1 -1
@@ -238,7 +238,17 @@ remove: Removes a value.
238
238
  copy: Copies a value from one location to another.
239
239
  move: Moves a value from one location to another.
240
240
  test: Tests that a value at the target location is equal to a specified value.
241
- `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/download/{id}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Download design file",operationId:"getDesignPatternFile",description:"Downloads the raw design file for the specified design.",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],responses:{200:{description:"Design file content",content:{"application/yaml":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/upload/{id}":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Upload design source content",operationId:"upsertPatternSourceContent",description:"Uploads or replaces the source content for a design.",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],requestBody:{required:true,content:{"multipart/form-data":{schema:{type:"object",description:"Choose the method you prefer to upload your design file. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online.",enum:["file","url"],properties:{file:{type:"string",format:"file",description:"Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details"},fileName:{type:"string",description:"The name of the pattern file being imported."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design file. This name will help you identify the file more easily. You can also change the name of your design after importing it."},url:{type:"string",format:"uri",description:"Provide the URL of the file you want to import. This should be a direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Also, ensure that design is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details"}}}}}},responses:{200:{description:"Design source content uploaded"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/pattern/import":{post:{tags:["designs"],summary:"Import Design",operationId:"importDesign",requestBody:{required:true,content:{"multipart/form-data":{schema:{type:"object",description:"Choose the method you prefer to upload your design file. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online.",enum:["file","url"],properties:{file:{type:"string",format:"file",description:"Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details"},fileName:{type:"string",description:"The name of the pattern file being imported."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design file. This name will help you identify the file more easily. You can also change the name of your design after importing it."},url:{type:"string",format:"uri",description:"Provide the URL of the file you want to import. This should be a direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Also, ensure that design is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details"}}}}}},responses:{200:{description:"Successful Import",content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}}}}}},400:{description:"Invalid request format"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error"}}}},"/api/catalog/content/{type}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get catalog content",operationId:"getCatalogContent",security:[],parameters:[{name:"type",in:"path",required:true,schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"type",in:"query",required:false,schema:{type:"string"}},{name:"technology",in:"query",required:false,schema:{type:"string"}},{name:"metrics",in:"query",required:false,schema:{type:"boolean"}},{name:"class",in:"query",required:false,schema:{type:"string"}},{name:"userid",in:"query",required:false,schema:{type:"string"}},{name:"orgId",in:"query",required:false,schema:{type:"string"}},{name:"workspaceid",in:"query",required:false,schema:{type:"string"}},{name:"teamId",in:"query",required:false,schema:{type:"string"}},{name:"populate",in:"query",required:false,schema:{type:"boolean"}}],responses:{200:{description:"Catalog content page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},patterns:{type:"array",items:{type:"object",properties:{catalogData:{"x-go-type":"catalogv1beta1.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/catalog",name:"catalogv1beta1"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string"},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}]},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},pattern_caveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design."},pattern_info:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type",enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","pattern_caveats","pattern_info","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{default:"v0.0.1","x-order":4,description:"Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number.",minLength:1,maxLength:50,type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},metadata:{type:"object","x-order":5,additionalProperties:true,properties:{resolvedAliases:{description:"Map of resolved aliases present in the design",type:"object","x-go-type":"map[string]core.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationship_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},alias_component_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_ref_field_path:{type:"array",items:{type:"string"}}},required:["relationship_id","alias_component_id","immediate_parent_id","immediate_ref_field_path"]},{type:"object",properties:{resolved_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolved_ref_field_path:{type:"array",items:{type:"string"}}},required:["resolved_parent_id","resolved_ref_field_path"]}]}}}},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readible format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the model definition.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",helperText:"Model name should be in lowercase with hyphens, not whitespaces.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"name",json:"name"},default:"untitled-model"},displayName:{description:"Human-readable name for the model.",helperText:"Model display name may include letters, numbers, and spaces. Special characters are not allowed.",minLength:1,maxLength:100,type:"string",pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"],"x-order":5,"x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},default:"Untitled Model"},description:{type:"string",default:"A new Meshery model.",description:"Description of the model.",minLength:1,maxLength:1e3,"x-order":6,"x-oapi-codegen-extra-tags":{yaml:"description,omitempty",json:"description,omitempty"}},status:{type:"string",description:`Status of model, including:
241
+ `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/download/{id}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Download design file",operationId:"getDesignPatternFile",description:"Downloads the raw design file for the specified design.",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],responses:{200:{description:"Design file content",content:{"application/yaml":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/upload/{id}":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Upload design source content",operationId:"upsertPatternSourceContent",description:`Replaces the raw source content blob stored alongside a design.
242
+ The server (meshery-cloud's UpsertPatternSourceContent handler)
243
+ reads the entire request body as opaque bytes via io.ReadAll and
244
+ persists them without interpretation, so the content-type is
245
+ whatever the uploader sent \u2014 \`application/octet-stream\` is the
246
+ canonical choice. The previous declaration reused
247
+ MesheryPatternImportRequestBody under multipart/form-data, which
248
+ the handler never parses; it remained wired up solely to share
249
+ a schema ref with /api/pattern/import. See meshery/schemas#771
250
+ for the drift analysis.
251
+ `,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/octet-stream":{schema:{type:"string",format:"binary",description:"Opaque design source bytes (yaml, tarball, etc.)"}}}},responses:{200:{description:"Design source content uploaded"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/pattern/import":{post:{tags:["designs"],summary:"Import Design",operationId:"importDesign",requestBody:{required:true,content:{"application/json":{schema:{description:"Body for POST /api/pattern/import. Consumed by the server as application/json. Exactly one of two variants must be supplied: a File Import carrying base64-encoded bytes plus a file name, or a URL Import naming a remote location the server will fetch. Sending both variants at once, or neither, is rejected with 400.",oneOf:[{type:"object",title:"File Import",description:"Upload a design file from the local system. Both `file` and `file_name` are required; the server uses the file name to identify the file type (Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design).",required:["file","file_name"],properties:{file:{type:"string",format:"byte",description:"Base64-encoded file bytes. Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},file_name:{type:"string",description:"The name of the pattern file being imported. Include the extension (e.g. `design.yaml`), as the server uses it to identify the file type."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it."}}},{type:"object",title:"URL Import",description:"Import a design by URL. The server will fetch the resource and derive the file type from the response.",required:["url"],properties:{url:{type:"string",format:"uri",description:"A direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it."}}}]}}}},responses:{200:{description:"Successful Import",content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}}}}}},400:{description:"Invalid request format"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error"}}}},"/api/catalog/content/{type}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get catalog content",operationId:"getCatalogContent",security:[],parameters:[{name:"type",in:"path",required:true,schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"type",in:"query",required:false,schema:{type:"string"}},{name:"technology",in:"query",required:false,schema:{type:"string"}},{name:"metrics",in:"query",required:false,schema:{type:"boolean"}},{name:"class",in:"query",required:false,schema:{type:"string"}},{name:"userid",in:"query",required:false,schema:{type:"string"}},{name:"orgId",in:"query",required:false,schema:{type:"string"}},{name:"workspaceid",in:"query",required:false,schema:{type:"string"}},{name:"teamId",in:"query",required:false,schema:{type:"string"}},{name:"populate",in:"query",required:false,schema:{type:"boolean"}}],responses:{200:{description:"Catalog content page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},patterns:{type:"array",items:{type:"object",properties:{catalogData:{"x-go-type":"catalogv1beta1.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/catalog",name:"catalogv1beta1"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string"},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}]},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},pattern_caveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design."},pattern_info:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type",enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","pattern_caveats","pattern_info","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{default:"v0.0.1","x-order":4,description:"Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number.",minLength:1,maxLength:50,type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},metadata:{type:"object","x-order":5,additionalProperties:true,properties:{resolvedAliases:{description:"Map of resolved aliases present in the design",type:"object","x-go-type":"map[string]core.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationship_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},alias_component_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_ref_field_path:{type:"array",items:{type:"string"}}},required:["relationship_id","alias_component_id","immediate_parent_id","immediate_ref_field_path"]},{type:"object",properties:{resolved_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolved_ref_field_path:{type:"array",items:{type:"string"}}},required:["resolved_parent_id","resolved_ref_field_path"]}]}}}},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readible format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the model definition.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",helperText:"Model name should be in lowercase with hyphens, not whitespaces.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"name",json:"name"},default:"untitled-model"},displayName:{description:"Human-readable name for the model.",helperText:"Model display name may include letters, numbers, and spaces. Special characters are not allowed.",minLength:1,maxLength:100,type:"string",pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"],"x-order":5,"x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},default:"Untitled Model"},description:{type:"string",default:"A new Meshery model.",description:"Description of the model.",minLength:1,maxLength:1e3,"x-order":6,"x-oapi-codegen-extra-tags":{yaml:"description,omitempty",json:"description,omitempty"}},status:{type:"string",description:`Status of model, including:
242
252
  - 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.
243
253
  - maintenance: model is unavailable for a period of time.
244
254
  - enabled: model is available for use for all users of this Meshery Server.
@@ -478,7 +488,7 @@ remove: Removes a value.
478
488
  copy: Copies a value from one location to another.
479
489
  move: Moves a value from one location to another.
480
490
  test: Tests that a value at the target location is equal to a specified value.
481
- `,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}}},save:{type:"boolean"},url:{description:"endpoint",'format"':"uri",pattern:"^https?://","x-go-type-skip-optional-pointer":true,type:"string"},name:{type:"string"}}},MesheryPatternImportRequestBody:{type:"object",description:"Choose the method you prefer to upload your design file. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online.",enum:["file","url"],properties:{file:{type:"string",format:"file",description:"Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details"},fileName:{type:"string",description:"The name of the pattern file being imported."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design file. This name will help you identify the file more easily. You can also change the name of your design after importing it."},url:{type:"string",format:"uri",description:"Provide the URL of the file you want to import. This should be a direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Also, ensure that design is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details"}}},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"]},CatalogContentItem:{type:"object",additionalProperties:true},CatalogContentPage:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},patterns:{type:"array",items:{type:"object",properties:{catalogData:{"x-go-type":"catalogv1beta1.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/catalog",name:"catalogv1beta1"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string"},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}]},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},pattern_caveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design."},pattern_info:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type",enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","pattern_caveats","pattern_info","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{default:"v0.0.1","x-order":4,description:"Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number.",minLength:1,maxLength:50,type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},metadata:{type:"object","x-order":5,additionalProperties:true,properties:{resolvedAliases:{description:"Map of resolved aliases present in the design",type:"object","x-go-type":"map[string]core.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationship_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},alias_component_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_ref_field_path:{type:"array",items:{type:"string"}}},required:["relationship_id","alias_component_id","immediate_parent_id","immediate_ref_field_path"]},{type:"object",properties:{resolved_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolved_ref_field_path:{type:"array",items:{type:"string"}}},required:["resolved_parent_id","resolved_ref_field_path"]}]}}}},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readible format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the model definition.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",helperText:"Model name should be in lowercase with hyphens, not whitespaces.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"name",json:"name"},default:"untitled-model"},displayName:{description:"Human-readable name for the model.",helperText:"Model display name may include letters, numbers, and spaces. Special characters are not allowed.",minLength:1,maxLength:100,type:"string",pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"],"x-order":5,"x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},default:"Untitled Model"},description:{type:"string",default:"A new Meshery model.",description:"Description of the model.",minLength:1,maxLength:1e3,"x-order":6,"x-oapi-codegen-extra-tags":{yaml:"description,omitempty",json:"description,omitempty"}},status:{type:"string",description:`Status of model, including:
491
+ `,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}}},save:{type:"boolean"},url:{description:"endpoint",'format"':"uri",pattern:"^https?://","x-go-type-skip-optional-pointer":true,type:"string"},name:{type:"string"}}},MesheryPatternImportRequestBody:{description:"Body for POST /api/pattern/import. Consumed by the server as application/json. Exactly one of two variants must be supplied: a File Import carrying base64-encoded bytes plus a file name, or a URL Import naming a remote location the server will fetch. Sending both variants at once, or neither, is rejected with 400.",oneOf:[{type:"object",title:"File Import",description:"Upload a design file from the local system. Both `file` and `file_name` are required; the server uses the file name to identify the file type (Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design).",required:["file","file_name"],properties:{file:{type:"string",format:"byte",description:"Base64-encoded file bytes. Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},file_name:{type:"string",description:"The name of the pattern file being imported. Include the extension (e.g. `design.yaml`), as the server uses it to identify the file type."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it."}}},{type:"object",title:"URL Import",description:"Import a design by URL. The server will fetch the resource and derive the file type from the response.",required:["url"],properties:{url:{type:"string",format:"uri",description:"A direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it."}}}]},MesheryPatternImportFilePayload:{type:"object",title:"File Import",description:"Upload a design file from the local system. Both `file` and `file_name` are required; the server uses the file name to identify the file type (Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design).",required:["file","file_name"],properties:{file:{type:"string",format:"byte",description:"Base64-encoded file bytes. Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},file_name:{type:"string",description:"The name of the pattern file being imported. Include the extension (e.g. `design.yaml`), as the server uses it to identify the file type."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it."}}},MesheryPatternImportURLPayload:{type:"object",title:"URL Import",description:"Import a design by URL. The server will fetch the resource and derive the file type from the response.",required:["url"],properties:{url:{type:"string",format:"uri",description:"A direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it."}}},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"]},CatalogContentItem:{type:"object",additionalProperties:true},CatalogContentPage:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},patterns:{type:"array",items:{type:"object",properties:{catalogData:{"x-go-type":"catalogv1beta1.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/catalog",name:"catalogv1beta1"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string"},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}]},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},pattern_caveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design."},pattern_info:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type",enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","pattern_caveats","pattern_info","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{default:"v0.0.1","x-order":4,description:"Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number.",minLength:1,maxLength:50,type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},metadata:{type:"object","x-order":5,additionalProperties:true,properties:{resolvedAliases:{description:"Map of resolved aliases present in the design",type:"object","x-go-type":"map[string]core.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationship_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},alias_component_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_ref_field_path:{type:"array",items:{type:"string"}}},required:["relationship_id","alias_component_id","immediate_parent_id","immediate_ref_field_path"]},{type:"object",properties:{resolved_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolved_ref_field_path:{type:"array",items:{type:"string"}}},required:["resolved_parent_id","resolved_ref_field_path"]}]}}}},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readible format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the model definition.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",helperText:"Model name should be in lowercase with hyphens, not whitespaces.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"name",json:"name"},default:"untitled-model"},displayName:{description:"Human-readable name for the model.",helperText:"Model display name may include letters, numbers, and spaces. Special characters are not allowed.",minLength:1,maxLength:100,type:"string",pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"],"x-order":5,"x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},default:"Untitled Model"},description:{type:"string",default:"A new Meshery model.",description:"Description of the model.",minLength:1,maxLength:1e3,"x-order":6,"x-oapi-codegen-extra-tags":{yaml:"description,omitempty",json:"description,omitempty"}},status:{type:"string",description:`Status of model, including:
482
492
  - 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.
483
493
  - maintenance: model is unavailable for a period of time.
484
494
  - enabled: model is available for use for all users of this Meshery Server.
@@ -9,6 +9,16 @@ interface paths {
9
9
  /** Creates a new view with the given filters and metadata. */
10
10
  post: operations["createView"];
11
11
  };
12
+ "/api/content/view/share": {
13
+ /**
14
+ * Shares a view with a list of email addresses. When `share` is true, the
15
+ * view's visibility is flipped to public and an invitation email is sent
16
+ * to each recipient. When `share` is false, visibility is reverted to
17
+ * private. Only the owner of the view (or a provider admin) may change
18
+ * its sharing mode.
19
+ */
20
+ post: operations["shareView"];
21
+ };
12
22
  "/api/content/views/{viewId}": {
13
23
  /** Returns a single view by its unique identifier. */
14
24
  get: operations["getViewById"];
@@ -140,6 +150,33 @@ interface components {
140
150
  [key: string]: unknown;
141
151
  };
142
152
  };
153
+ /**
154
+ * @description Payload for sharing a view with one or more recipients by email. The
155
+ * wire format matches the canonical design share payload
156
+ * (`design.ContentSharePayload` in `v1beta2/design`), restricted to the
157
+ * `view` content type since that is all this endpoint accepts.
158
+ */
159
+ ContentSharePayload: {
160
+ /**
161
+ * Format: uuid
162
+ * @description Identifier of the view being shared.
163
+ */
164
+ content_id: string;
165
+ /**
166
+ * @description The kind of content being shared. Only `view` is accepted on this
167
+ * endpoint.
168
+ *
169
+ * @enum {string}
170
+ */
171
+ content_type: "view";
172
+ /** @description Email addresses of the recipients to share this view with. */
173
+ emails: string[];
174
+ /**
175
+ * @description When true, flip the view's visibility to public and send invitation
176
+ * emails to the recipients. When false, revert visibility to private.
177
+ */
178
+ share: boolean;
179
+ };
143
180
  /** @description Paginated list of views with location enrichment. */
144
181
  MesheryViewPage: {
145
182
  page?: number;
@@ -264,6 +301,32 @@ interface components {
264
301
  };
265
302
  };
266
303
  };
304
+ /** Body for sharing a view with recipients by email. */
305
+ contentSharePayload: {
306
+ content: {
307
+ "application/json": {
308
+ /**
309
+ * Format: uuid
310
+ * @description Identifier of the view being shared.
311
+ */
312
+ content_id: string;
313
+ /**
314
+ * @description The kind of content being shared. Only `view` is accepted on this
315
+ * endpoint.
316
+ *
317
+ * @enum {string}
318
+ */
319
+ content_type: "view";
320
+ /** @description Email addresses of the recipients to share this view with. */
321
+ emails: string[];
322
+ /**
323
+ * @description When true, flip the view's visibility to public and send invitation
324
+ * emails to the recipients. When false, revert visibility to private.
325
+ */
326
+ share: boolean;
327
+ };
328
+ };
329
+ };
267
330
  };
268
331
  }
269
332
  interface operations {
@@ -453,6 +516,71 @@ interface operations {
453
516
  };
454
517
  };
455
518
  };
519
+ /**
520
+ * Shares a view with a list of email addresses. When `share` is true, the
521
+ * view's visibility is flipped to public and an invitation email is sent
522
+ * to each recipient. When `share` is false, visibility is reverted to
523
+ * private. Only the owner of the view (or a provider admin) may change
524
+ * its sharing mode.
525
+ */
526
+ shareView: {
527
+ responses: {
528
+ /** View shared. */
529
+ 200: unknown;
530
+ /** Invalid request body or request param */
531
+ 400: {
532
+ content: {
533
+ "text/plain": string;
534
+ };
535
+ };
536
+ /** Expired JWT token used or insufficient privilege */
537
+ 401: {
538
+ content: {
539
+ "text/plain": string;
540
+ };
541
+ };
542
+ /** Caller is not the owner of the view. */
543
+ 403: unknown;
544
+ /** Result not found */
545
+ 404: {
546
+ content: {
547
+ "text/plain": string;
548
+ };
549
+ };
550
+ /** Internal server error */
551
+ 500: {
552
+ content: {
553
+ "text/plain": string;
554
+ };
555
+ };
556
+ };
557
+ /** Body for sharing a view with recipients by email. */
558
+ requestBody: {
559
+ content: {
560
+ "application/json": {
561
+ /**
562
+ * Format: uuid
563
+ * @description Identifier of the view being shared.
564
+ */
565
+ content_id: string;
566
+ /**
567
+ * @description The kind of content being shared. Only `view` is accepted on this
568
+ * endpoint.
569
+ *
570
+ * @enum {string}
571
+ */
572
+ content_type: "view";
573
+ /** @description Email addresses of the recipients to share this view with. */
574
+ emails: string[];
575
+ /**
576
+ * @description When true, flip the view's visibility to public and send invitation
577
+ * emails to the recipients. When false, revert visibility to private.
578
+ */
579
+ share: boolean;
580
+ };
581
+ };
582
+ };
583
+ };
456
584
  /** Returns a single view by its unique identifier. */
457
585
  getViewById: {
458
586
  parameters: {
@@ -9,6 +9,16 @@ interface paths {
9
9
  /** Creates a new view with the given filters and metadata. */
10
10
  post: operations["createView"];
11
11
  };
12
+ "/api/content/view/share": {
13
+ /**
14
+ * Shares a view with a list of email addresses. When `share` is true, the
15
+ * view's visibility is flipped to public and an invitation email is sent
16
+ * to each recipient. When `share` is false, visibility is reverted to
17
+ * private. Only the owner of the view (or a provider admin) may change
18
+ * its sharing mode.
19
+ */
20
+ post: operations["shareView"];
21
+ };
12
22
  "/api/content/views/{viewId}": {
13
23
  /** Returns a single view by its unique identifier. */
14
24
  get: operations["getViewById"];
@@ -140,6 +150,33 @@ interface components {
140
150
  [key: string]: unknown;
141
151
  };
142
152
  };
153
+ /**
154
+ * @description Payload for sharing a view with one or more recipients by email. The
155
+ * wire format matches the canonical design share payload
156
+ * (`design.ContentSharePayload` in `v1beta2/design`), restricted to the
157
+ * `view` content type since that is all this endpoint accepts.
158
+ */
159
+ ContentSharePayload: {
160
+ /**
161
+ * Format: uuid
162
+ * @description Identifier of the view being shared.
163
+ */
164
+ content_id: string;
165
+ /**
166
+ * @description The kind of content being shared. Only `view` is accepted on this
167
+ * endpoint.
168
+ *
169
+ * @enum {string}
170
+ */
171
+ content_type: "view";
172
+ /** @description Email addresses of the recipients to share this view with. */
173
+ emails: string[];
174
+ /**
175
+ * @description When true, flip the view's visibility to public and send invitation
176
+ * emails to the recipients. When false, revert visibility to private.
177
+ */
178
+ share: boolean;
179
+ };
143
180
  /** @description Paginated list of views with location enrichment. */
144
181
  MesheryViewPage: {
145
182
  page?: number;
@@ -264,6 +301,32 @@ interface components {
264
301
  };
265
302
  };
266
303
  };
304
+ /** Body for sharing a view with recipients by email. */
305
+ contentSharePayload: {
306
+ content: {
307
+ "application/json": {
308
+ /**
309
+ * Format: uuid
310
+ * @description Identifier of the view being shared.
311
+ */
312
+ content_id: string;
313
+ /**
314
+ * @description The kind of content being shared. Only `view` is accepted on this
315
+ * endpoint.
316
+ *
317
+ * @enum {string}
318
+ */
319
+ content_type: "view";
320
+ /** @description Email addresses of the recipients to share this view with. */
321
+ emails: string[];
322
+ /**
323
+ * @description When true, flip the view's visibility to public and send invitation
324
+ * emails to the recipients. When false, revert visibility to private.
325
+ */
326
+ share: boolean;
327
+ };
328
+ };
329
+ };
267
330
  };
268
331
  }
269
332
  interface operations {
@@ -453,6 +516,71 @@ interface operations {
453
516
  };
454
517
  };
455
518
  };
519
+ /**
520
+ * Shares a view with a list of email addresses. When `share` is true, the
521
+ * view's visibility is flipped to public and an invitation email is sent
522
+ * to each recipient. When `share` is false, visibility is reverted to
523
+ * private. Only the owner of the view (or a provider admin) may change
524
+ * its sharing mode.
525
+ */
526
+ shareView: {
527
+ responses: {
528
+ /** View shared. */
529
+ 200: unknown;
530
+ /** Invalid request body or request param */
531
+ 400: {
532
+ content: {
533
+ "text/plain": string;
534
+ };
535
+ };
536
+ /** Expired JWT token used or insufficient privilege */
537
+ 401: {
538
+ content: {
539
+ "text/plain": string;
540
+ };
541
+ };
542
+ /** Caller is not the owner of the view. */
543
+ 403: unknown;
544
+ /** Result not found */
545
+ 404: {
546
+ content: {
547
+ "text/plain": string;
548
+ };
549
+ };
550
+ /** Internal server error */
551
+ 500: {
552
+ content: {
553
+ "text/plain": string;
554
+ };
555
+ };
556
+ };
557
+ /** Body for sharing a view with recipients by email. */
558
+ requestBody: {
559
+ content: {
560
+ "application/json": {
561
+ /**
562
+ * Format: uuid
563
+ * @description Identifier of the view being shared.
564
+ */
565
+ content_id: string;
566
+ /**
567
+ * @description The kind of content being shared. Only `view` is accepted on this
568
+ * endpoint.
569
+ *
570
+ * @enum {string}
571
+ */
572
+ content_type: "view";
573
+ /** @description Email addresses of the recipients to share this view with. */
574
+ emails: string[];
575
+ /**
576
+ * @description When true, flip the view's visibility to public and send invitation
577
+ * emails to the recipients. When false, revert visibility to private.
578
+ */
579
+ share: boolean;
580
+ };
581
+ };
582
+ };
583
+ };
456
584
  /** Returns a single view by its unique identifier. */
457
585
  getViewById: {
458
586
  parameters: {