@meshery/schemas 1.3.28 → 1.3.29

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 (93) hide show
  1. package/dist/cloudApi.d.mts +3398 -3164
  2. package/dist/cloudApi.d.ts +3398 -3164
  3. package/dist/constructs/v1beta2/academy/Academy.d.ts +2 -2
  4. package/dist/constructs/v1beta2/academy/AcademySchema.js +1 -1
  5. package/dist/constructs/v1beta2/academy/AcademySchema.mjs +1 -1
  6. package/dist/constructs/v1beta2/core/Core.d.ts +2 -2
  7. package/dist/constructs/v1beta2/core/CoreSchema.js +1 -1
  8. package/dist/constructs/v1beta2/core/CoreSchema.mjs +1 -1
  9. package/dist/constructs/v1beta2/credential/Credential.d.ts +2 -2
  10. package/dist/constructs/v1beta2/credential/CredentialSchema.js +2 -2
  11. package/dist/constructs/v1beta2/credential/CredentialSchema.mjs +2 -2
  12. package/dist/constructs/v1beta2/design/Design.d.ts +12 -12
  13. package/dist/constructs/v1beta2/design/DesignSchema.js +5 -5
  14. package/dist/constructs/v1beta2/design/DesignSchema.mjs +5 -5
  15. package/dist/constructs/v1beta2/event/Event.d.ts +10 -10
  16. package/dist/constructs/v1beta2/event/EventSchema.js +1 -1
  17. package/dist/constructs/v1beta2/event/EventSchema.mjs +1 -1
  18. package/dist/constructs/v1beta2/invitation/Invitation.d.ts +2 -2
  19. package/dist/constructs/v1beta2/invitation/InvitationSchema.js +1 -1
  20. package/dist/constructs/v1beta2/invitation/InvitationSchema.mjs +1 -1
  21. package/dist/constructs/v1beta2/key/Key.d.ts +3 -3
  22. package/dist/constructs/v1beta2/key/KeySchema.js +1 -1
  23. package/dist/constructs/v1beta2/key/KeySchema.mjs +1 -1
  24. package/dist/constructs/v1beta2/keychain/Keychain.d.ts +3 -3
  25. package/dist/constructs/v1beta2/keychain/KeychainSchema.js +1 -1
  26. package/dist/constructs/v1beta2/keychain/KeychainSchema.mjs +1 -1
  27. package/dist/constructs/v1beta2/organization/Organization.d.ts +14 -0
  28. package/dist/constructs/v1beta2/organization/OrganizationSchema.js +1 -1
  29. package/dist/constructs/v1beta2/organization/OrganizationSchema.mjs +1 -1
  30. package/dist/constructs/v1beta2/plan/Plan.d.ts +2 -2
  31. package/dist/constructs/v1beta2/plan/PlanSchema.js +1 -1
  32. package/dist/constructs/v1beta2/plan/PlanSchema.mjs +1 -1
  33. package/dist/constructs/v1beta2/role/Role.d.ts +3 -3
  34. package/dist/constructs/v1beta2/role/RoleSchema.js +1 -1
  35. package/dist/constructs/v1beta2/role/RoleSchema.mjs +1 -1
  36. package/dist/constructs/v1beta2/schedule/Schedule.d.ts +2 -2
  37. package/dist/constructs/v1beta2/schedule/ScheduleSchema.js +2 -2
  38. package/dist/constructs/v1beta2/schedule/ScheduleSchema.mjs +2 -2
  39. package/dist/constructs/v1beta2/subscription/Subscription.d.ts +4 -4
  40. package/dist/constructs/v1beta2/subscription/SubscriptionSchema.js +1 -1
  41. package/dist/constructs/v1beta2/subscription/SubscriptionSchema.mjs +1 -1
  42. package/dist/constructs/v1beta2/team/Team.d.ts +12 -37
  43. package/dist/constructs/v1beta2/team/TeamSchema.js +1 -1
  44. package/dist/constructs/v1beta2/team/TeamSchema.mjs +1 -1
  45. package/dist/constructs/v1beta2/token/Token.d.ts +4 -4
  46. package/dist/constructs/v1beta2/token/TokenSchema.js +1 -1
  47. package/dist/constructs/v1beta2/token/TokenSchema.mjs +1 -1
  48. package/dist/constructs/v1beta2/user/User.d.ts +6 -6
  49. package/dist/constructs/v1beta2/user/UserSchema.js +1 -1
  50. package/dist/constructs/v1beta2/user/UserSchema.mjs +1 -1
  51. package/dist/constructs/v1beta2/view/View.d.ts +2 -2
  52. package/dist/constructs/v1beta2/view/ViewSchema.js +2 -2
  53. package/dist/constructs/v1beta2/view/ViewSchema.mjs +2 -2
  54. package/dist/constructs/v1beta3/academy/Academy.d.ts +767 -3
  55. package/dist/constructs/v1beta3/academy/AcademySchema.js +3 -1
  56. package/dist/constructs/v1beta3/academy/AcademySchema.mjs +3 -1
  57. package/dist/constructs/v1beta3/design/Design.d.ts +5 -5
  58. package/dist/constructs/v1beta3/design/DesignSchema.js +5 -5
  59. package/dist/constructs/v1beta3/design/DesignSchema.mjs +5 -5
  60. package/dist/constructs/v1beta3/environment/Environment.d.ts +3 -3
  61. package/dist/constructs/v1beta3/environment/EnvironmentSchema.js +1 -1
  62. package/dist/constructs/v1beta3/environment/EnvironmentSchema.mjs +1 -1
  63. package/dist/constructs/v1beta3/event/Event.d.ts +11 -11
  64. package/dist/constructs/v1beta3/event/EventSchema.js +1 -1
  65. package/dist/constructs/v1beta3/event/EventSchema.mjs +1 -1
  66. package/dist/constructs/v1beta3/filter/Filter.d.ts +2 -2
  67. package/dist/constructs/v1beta3/filter/FilterSchema.js +2 -2
  68. package/dist/constructs/v1beta3/filter/FilterSchema.mjs +2 -2
  69. package/dist/constructs/v1beta3/invitation/Invitation.d.ts +4 -4
  70. package/dist/constructs/v1beta3/invitation/InvitationSchema.js +1 -1
  71. package/dist/constructs/v1beta3/invitation/InvitationSchema.mjs +1 -1
  72. package/dist/constructs/v1beta3/pattern_resource/PatternResource.d.ts +2 -2
  73. package/dist/constructs/v1beta3/pattern_resource/PatternResourceSchema.js +2 -2
  74. package/dist/constructs/v1beta3/pattern_resource/PatternResourceSchema.mjs +2 -2
  75. package/dist/constructs/v1beta3/plan/Plan.d.ts +2 -2
  76. package/dist/constructs/v1beta3/plan/PlanSchema.js +1 -1
  77. package/dist/constructs/v1beta3/plan/PlanSchema.mjs +1 -1
  78. package/dist/constructs/v1beta3/subscription/Subscription.d.ts +4 -4
  79. package/dist/constructs/v1beta3/subscription/SubscriptionSchema.js +1 -1
  80. package/dist/constructs/v1beta3/subscription/SubscriptionSchema.mjs +1 -1
  81. package/dist/constructs/v1beta3/token/Token.d.ts +4 -4
  82. package/dist/constructs/v1beta3/token/TokenSchema.js +1 -1
  83. package/dist/constructs/v1beta3/token/TokenSchema.mjs +1 -1
  84. package/dist/constructs/v1beta3/workspace/Workspace.d.ts +6 -6
  85. package/dist/constructs/v1beta3/workspace/WorkspaceSchema.js +2 -2
  86. package/dist/constructs/v1beta3/workspace/WorkspaceSchema.mjs +2 -2
  87. package/dist/index.d.mts +14 -8
  88. package/dist/index.d.ts +14 -8
  89. package/dist/index.js +6 -6
  90. package/dist/index.mjs +6 -6
  91. package/dist/mesheryApi.d.mts +1395 -1387
  92. package/dist/mesheryApi.d.ts +1395 -1387
  93. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -668,7 +668,7 @@ JSON tags and query/path parameters were snake_case in v1beta2; the
668
668
  replacement v1beta3 schema publishes them as canonical camelCase. v1beta2
669
669
  remains served indefinitely for consumers that pin it, per the Phase 4.A
670
670
  non-deletion policy in docs/schema-tooling.md.
671
- `,version:"v1beta2","x-deprecated":true,"x-superseded-by":"v1beta3/design",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},security:[{jwt:[]}],tags:[{name:"designs",description:"Operations related to designs and infrastructure patterns"}],paths:{"/api/content/patterns":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get designs",operationId:"getPatterns",description:"Returns a paginated list of infrastructure designs accessible to the user.",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"visibility",in:"query",description:"Filter by visibility (public, private, published)",schema:{type:"string"}},{name:"userId",in:"query",required:false,description:"UUID of User. Pass userId for fetching public and published designs.",schema:{type:"string"}},{name:"orgId",in:"query",required:false,description:"User's organization ID.",schema:{type:"string"}},{name:"metrics",in:"query",required:false,schema:{type:"boolean"}},{name:"workspaceId",in:"query",required:false,schema:{type:"string"}},{name:"populate",in:"query",required:false,schema:{type:"boolean"}},{name:"shared",in:"query",required:false,schema:{type:"boolean"}}],responses:{200:{description:"Designs response",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},page_size:{type:"integer",description:"Number of items per page.",minimum:1},patterns:{type:"array",items:{"x-go-type":"MesheryPattern",type:"object",properties:{catalogData:{"x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2,minLength:1,maxLength:255},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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]corev1beta2.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/core",name:"corev1beta2"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationshipId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},aliasComponentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateRefFieldPath:{type:"array",items:{type:"string"},description:"The immediate ref field path of the nonresolvedalias."}},required:["relationshipId","aliasComponentId","immediateParentId","immediateRefFieldPath"]},{type:"object",properties:{resolvedParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolvedRefFieldPath:{type:"array",description:"Fully resolved field path targeted by the alias.",items:{type:"string"}}},required:["resolvedParentId","resolvedRefFieldPath"]}]}}},description:"Additional metadata associated with this resource."},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta2",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readable format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"},maxLength:5e3},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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:
671
+ `,version:"v1beta2","x-deprecated":true,"x-superseded-by":"v1beta3/design",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},security:[{jwt:[]}],tags:[{name:"designs",description:"Operations related to designs and infrastructure patterns"}],paths:{"/api/content/patterns":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get designs",operationId:"getPatterns",description:"Returns a paginated list of infrastructure designs accessible to the user.",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"visibility",in:"query",description:"Filter by visibility (public, private, published)",schema:{type:"string"}},{name:"userId",in:"query",required:false,description:"UUID of User. Pass userId for fetching public and published designs.",schema:{type:"string"}},{name:"orgId",in:"query",required:false,description:"User's organization ID.",schema:{type:"string"}},{name:"metrics",in:"query",required:false,schema:{type:"boolean"}},{name:"workspaceId",in:"query",required:false,schema:{type:"string"}},{name:"populate",in:"query",required:false,schema:{type:"boolean"}},{name:"shared",in:"query",required:false,schema:{type:"boolean"}}],responses:{200:{description:"Designs response",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},page_size:{type:"integer",description:"Number of items per page.",minimum:1},patterns:{type:"array",items:{"x-go-type":"MesheryPattern",type:"object",properties:{catalogData:{"x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2,minLength:1,maxLength:255},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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]corev1beta2.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/core",name:"corev1beta2"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationshipId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},aliasComponentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateRefFieldPath:{type:"array",items:{type:"string"},description:"The immediate ref field path of the nonresolvedalias."}},required:["relationshipId","aliasComponentId","immediateParentId","immediateRefFieldPath"]},{type:"object",properties:{resolvedParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolvedRefFieldPath:{type:"array",description:"Fully resolved field path targeted by the alias.",items:{type:"string"}}},required:["resolvedParentId","resolvedRefFieldPath"]}]}}},description:"Additional metadata associated with this resource."},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta2",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readable format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"},maxLength:5e3},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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:
672
672
  - 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.
673
673
  - maintenance: model is unavailable for a period of time.
674
674
  - enabled: model is available for use for all users of this Meshery Server.
@@ -800,7 +800,7 @@ remove: Removes a value.
800
800
  copy: Copies a value from one location to another.
801
801
  move: Moves a value from one location to another.
802
802
  test: Tests that a value at the target location is equal to a specified value.
803
- `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/delete":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Bulk delete designs",operationId:"deletePatterns",description:"Deletes multiple designs by ID.",requestBody:{required:true,content:{"application/json":{schema:{type:"object",properties:{patterns:{type:"array",items:{"x-go-type":"DeletePatternModel",type:"object",properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true}}},description:"The patterns of the mesherypatterndeleterequestbody."}}}}}},responses:{200:{description:"Designs deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/resource":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get pattern resources",operationId:"getPatternResources",description:"Returns pattern resource definitions.",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}}],responses:{200:{description:"Pattern resources response"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],tags:["designs"],summary:"Save pattern resource",operationId:"upsertPatternResource",description:"Creates or updates a pattern resource definition.",responses:{200:{description:"Pattern resource saved"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/resource/{id}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get pattern resource by ID",operationId:"getPatternResource",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],responses:{200:{description:"Pattern resource response"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud"],tags:["designs"],summary:"Delete pattern resource",operationId:"deletePatternResource",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],responses:{204:{description:"Pattern resource deleted"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/{id}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get design by ID",operationId:"getPattern",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],responses:{200:{description:"Design response",content:{"application/json":{schema:{type:"object",properties:{catalogData:{"x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2,minLength:1,maxLength:255},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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]corev1beta2.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/core",name:"corev1beta2"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationshipId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},aliasComponentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateRefFieldPath:{type:"array",items:{type:"string"},description:"The immediate ref field path of the nonresolvedalias."}},required:["relationshipId","aliasComponentId","immediateParentId","immediateRefFieldPath"]},{type:"object",properties:{resolvedParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolvedRefFieldPath:{type:"array",description:"Fully resolved field path targeted by the alias.",items:{type:"string"}}},required:["resolvedParentId","resolvedRefFieldPath"]}]}}},description:"Additional metadata associated with this resource."},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta2",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readable format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"},maxLength:5e3},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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:
803
+ `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/delete":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Bulk delete designs",operationId:"deletePatterns",description:"Deletes multiple designs by ID.",requestBody:{required:true,content:{"application/json":{schema:{type:"object",properties:{patterns:{type:"array",items:{"x-go-type":"DeletePatternModel",type:"object",properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true}}},description:"The patterns of the mesherypatterndeleterequestbody."}}}}}},responses:{200:{description:"Designs deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/resource":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get pattern resources",operationId:"getPatternResources",description:"Returns pattern resource definitions.",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}}],responses:{200:{description:"Pattern resources response"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],tags:["designs"],summary:"Save pattern resource",operationId:"upsertPatternResource",description:"Creates or updates a pattern resource definition.",responses:{200:{description:"Pattern resource saved"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/resource/{id}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get pattern resource by ID",operationId:"getPatternResource",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],responses:{200:{description:"Pattern resource response"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud"],tags:["designs"],summary:"Delete pattern resource",operationId:"deletePatternResource",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],responses:{204:{description:"Pattern resource deleted"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/{id}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get design by ID",operationId:"getPattern",parameters:[{name:"id",in:"path",description:"Design (Pattern) ID",required:true,schema:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}],responses:{200:{description:"Design response",content:{"application/json":{schema:{type:"object",properties:{catalogData:{"x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2,minLength:1,maxLength:255},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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]corev1beta2.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/core",name:"corev1beta2"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationshipId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},aliasComponentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateRefFieldPath:{type:"array",items:{type:"string"},description:"The immediate ref field path of the nonresolvedalias."}},required:["relationshipId","aliasComponentId","immediateParentId","immediateRefFieldPath"]},{type:"object",properties:{resolvedParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolvedRefFieldPath:{type:"array",description:"Fully resolved field path targeted by the alias.",items:{type:"string"}}},required:["resolvedParentId","resolvedRefFieldPath"]}]}}},description:"Additional metadata associated with this resource."},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta2",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readable format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"},maxLength:5e3},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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:
804
804
  - 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.
805
805
  - maintenance: model is unavailable for a period of time.
806
806
  - enabled: model is available for use for all users of this Meshery Server.
@@ -898,7 +898,7 @@ MesheryPatternImportRequestBody under multipart/form-data, which
898
898
  the handler never parses; it remained wired up solely to share
899
899
  a schema ref with /api/pattern/import. See meshery/schemas#771
900
900
  for the drift analysis.
901
- `,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:{"x-internal":["cloud","meshery"],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.",maxLength:500},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.",minLength:1,maxLength:255}}},{type:"object",title:"URL Import",description:"Import a design by URL. The server will fetch the resource and derive the file type from the response.",required:["url"],properties:{url:{type:"string",format:"uri",description:"A direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.",minLength:1,maxLength:255}}}]}}}},responses:{200:{description:"Successful Import",content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}}}}}},400:{description:"Invalid request format"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error"}}}},"/api/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",description:"Current page number of the result set.",minimum:0},page_size:{type:"integer",description:"Number of items per page.",minimum:1},total_count:{type:"integer",description:"Total number of items available.",minimum:0},patterns:{type:"array",items:{type:"object",properties:{catalogData:{"x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2,minLength:1,maxLength:255},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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]corev1beta2.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/core",name:"corev1beta2"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationshipId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},aliasComponentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateRefFieldPath:{type:"array",items:{type:"string"},description:"The immediate ref field path of the nonresolvedalias."}},required:["relationshipId","aliasComponentId","immediateParentId","immediateRefFieldPath"]},{type:"object",properties:{resolvedParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolvedRefFieldPath:{type:"array",description:"Fully resolved field path targeted by the alias.",items:{type:"string"}}},required:["resolvedParentId","resolvedRefFieldPath"]}]}}},description:"Additional metadata associated with this resource."},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta2",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readable format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"},maxLength:5e3},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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:
901
+ `,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:{"x-internal":["cloud","meshery"],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.",maxLength:500},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.",minLength:1,maxLength:255}}},{type:"object",title:"URL Import",description:"Import a design by URL. The server will fetch the resource and derive the file type from the response.",required:["url"],properties:{url:{type:"string",format:"uri",description:"A direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.",minLength:1,maxLength:255}}}]}}}},responses:{200:{description:"Successful Import",content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}}}}}},400:{description:"Invalid request format"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error"}}}},"/api/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:"integer"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"type",in:"query",required:false,schema:{type:"string"}},{name:"technology",in:"query",required:false,schema:{type:"string"}},{name:"metrics",in:"query",required:false,schema:{type:"boolean"}},{name:"class",in:"query",required:false,schema:{type:"string"}},{name:"userId",in:"query",required:false,schema:{type:"string"}},{name:"orgId",in:"query",required:false,schema:{type:"string"}},{name:"workspaceId",in:"query",required:false,schema:{type:"string"}},{name:"teamId",in:"query",required:false,schema:{type:"string"}},{name:"populate",in:"query",required:false,schema:{type:"boolean"}}],responses:{200:{description:"Catalog content page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},page_size:{type:"integer",description:"Number of items per page.",minimum:1},total_count:{type:"integer",description:"Total number of items available.",minimum:0},patterns:{type:"array",items:{type:"object",properties:{catalogData:{"x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2,minLength:1,maxLength:255},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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]corev1beta2.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/core",name:"corev1beta2"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationshipId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},aliasComponentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateRefFieldPath:{type:"array",items:{type:"string"},description:"The immediate ref field path of the nonresolvedalias."}},required:["relationshipId","aliasComponentId","immediateParentId","immediateRefFieldPath"]},{type:"object",properties:{resolvedParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolvedRefFieldPath:{type:"array",description:"Fully resolved field path targeted by the alias.",items:{type:"string"}}},required:["resolvedParentId","resolvedRefFieldPath"]}]}}},description:"Additional metadata associated with this resource."},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta2",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readable format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"},maxLength:5e3},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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:
902
902
  - 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.
903
903
  - maintenance: model is unavailable for a period of time.
904
904
  - enabled: model is available for use for all users of this Meshery Server.
@@ -942,14 +942,14 @@ remove: Removes a value.
942
942
  copy: Copies a value from one location to another.
943
943
  move: Moves a value from one location to another.
944
944
  test: Tests that a value at the target location is equal to a specified value.
945
- `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}},description:"The patterns of the catalogcontentpage."},filters:{type:"array",items:{type:"object",additionalProperties:true},description:"The filters of the catalogcontentpage."},modelsCount:{type:"array",items:{type:"object",additionalProperties:true},description:"The models count of the catalogcontentpage."},categoryCount:{type:"array",items:{type:"object",additionalProperties:true},description:"The category count of the catalogcontentpage."}}}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],tags:["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:"The class of the catalogcontentclass.",maxLength:500},description:{type:"string",description:"Description of the catalogcontentclass.",maxLength:5e3}},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:{200:{description:"Request approved",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/requests/deny":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Deny a catalog request",operationId:"denyCatalogRequest",requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Request denied",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/filters/{id}":{get:{"x-internal":["cloud"],tags:["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},description:"The users of the resourceaccessactorsresponse."}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/design/share":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Share a design, view, or filter by email",operationId:"shareDesign",description:`Shares a design (pattern), view, or filter with a list of email
945
+ `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}},description:"The patterns of the catalogcontentpage."},filters:{type:"array",items:{type:"object",additionalProperties:true},description:"The filters of the catalogcontentpage."},modelsCount:{type:"array",items:{type:"object",additionalProperties:true},description:"The models count of the catalogcontentpage."},categoryCount:{type:"array",items:{type:"object",additionalProperties:true},description:"The category count of the catalogcontentpage."}}}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],tags:["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:"integer"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}}],responses:{200:{description:"Catalog content classes",content:{"application/json":{schema:{type:"array",items:{type:"object",properties:{class:{type:"string",description:"The class of the catalogcontentclass.",maxLength:500},description:{type:"string",description:"Description of the catalogcontentclass.",maxLength:5e3}},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:{200:{description:"Request approved",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/catalog/requests/deny":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Deny a catalog request",operationId:"denyCatalogRequest",requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Request denied",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},409:{description:"Conflict"},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/filters/{id}":{get:{"x-internal":["cloud"],tags:["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},description:"The users of the resourceaccessactorsresponse."}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/design/share":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Share a design, view, or filter by email",operationId:"shareDesign",description:`Shares a design (pattern), view, or filter with a list of email
946
946
  addresses. When \`share\` is true, the content's visibility is flipped to
947
947
  public and an invitation email is sent to each recipient. When \`share\`
948
948
  is false, visibility is reverted to private. Only the owner of the
949
949
  content may change its sharing mode.
950
950
  `,requestBody:{description:"Body for sharing a design, filter, or view with recipients by email.",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for sharing a piece of content (design, filter, or view) with one\nor more recipients by email. This schema backs both\n`POST /api/content/design/share` and `POST /api/content/view/share`; the\nserver dispatches on `content_type` to decide which entity to mutate.\n",required:["content_id","content_type","emails","share"],properties:{content_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},content_type:{type:"string",description:"The kind of content being shared. Must match the entity the handler\nexpects \u2014 `pattern` and `filter` are valid on the design share\nendpoint; `view` is valid on the view share endpoint.\n",enum:["pattern","filter","view"]},emails:{type:"array",description:"Email addresses of the recipients to share this content with.",items:{type:"string",format:"email"}},share:{type:"boolean",description:`When true, flip visibility to public and send invitation emails to
951
951
  the recipients. When false, revert visibility to private.
952
- `}}}}}},responses:{200:{description:"Content shared."},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"}}}},403:{description:"Caller is not the owner of the content."},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",description:"Current page number of the result set.",minimum:0},page_size:{type:"integer",description:"Number of items per page.",minimum:1},total_count:{type:"integer",description:"Total number of items available.",minimum:0},catalogRequests:{type:"array",items:{type:"object",additionalProperties:true},description:"The catalog requests of the catalogrequestspage."}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},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,minLength:1,maxLength:255},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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]corev1beta2.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/core",name:"corev1beta2"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationshipId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},aliasComponentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateRefFieldPath:{type:"array",items:{type:"string"},description:"The immediate ref field path of the nonresolvedalias."}},required:["relationshipId","aliasComponentId","immediateParentId","immediateRefFieldPath"]},{type:"object",properties:{resolvedParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolvedRefFieldPath:{type:"array",description:"Fully resolved field path targeted by the alias.",items:{type:"string"}}},required:["resolvedParentId","resolvedRefFieldPath"]}]}}},description:"Additional metadata associated with this resource."},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta2",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readable format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"},maxLength:5e3},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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:
952
+ `}}}}}},responses:{200:{description:"Content shared."},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"}}}},403:{description:"Caller is not the owner of the content."},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:"integer"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"filter",in:"query",required:false,schema:{type:"string"}}],responses:{200:{description:"Catalog requests page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},page_size:{type:"integer",description:"Number of items per page.",minimum:1},total_count:{type:"integer",description:"Total number of items available.",minimum:0},catalogRequests:{type:"array",items:{type:"object",additionalProperties:true},description:"The catalog requests of the catalogrequestspage."}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},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:"integer"}},pagesize:{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},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,minLength:1,maxLength:255},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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]corev1beta2.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/core",name:"corev1beta2"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationshipId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},aliasComponentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediateRefFieldPath:{type:"array",items:{type:"string"},description:"The immediate ref field path of the nonresolvedalias."}},required:["relationshipId","aliasComponentId","immediateParentId","immediateRefFieldPath"]},{type:"object",properties:{resolvedParentId:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolvedRefFieldPath:{type:"array",description:"Fully resolved field path targeted by the alias.",items:{type:"string"}}},required:["resolvedParentId","resolvedRefFieldPath"]}]}}},description:"Additional metadata associated with this resource."},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta2",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readable format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"},maxLength:5e3},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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:
953
953
  - 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.
954
954
  - maintenance: model is unavailable for a period of time.
955
955
  - enabled: model is available for use for all users of this Meshery Server.
@@ -1173,7 +1173,7 @@ test: Tests that a value at the target location is equal to a specified value.
1173
1173
  the recipients. When false, revert visibility to private.
1174
1174
  `}}}},requestBodies:{catalogContentPayload:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},resourceSharePayload:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},contentSharePayload:{description:"Body for sharing a design, filter, or view with recipients by email.",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for sharing a piece of content (design, filter, or view) with one\nor more recipients by email. This schema backs both\n`POST /api/content/design/share` and `POST /api/content/view/share`; the\nserver dispatches on `content_type` to decide which entity to mutate.\n",required:["content_id","content_type","emails","share"],properties:{content_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},content_type:{type:"string",description:"The kind of content being shared. Must match the entity the handler\nexpects \u2014 `pattern` and `filter` are valid on the design share\nendpoint; `view` is valid on the view share endpoint.\n",enum:["pattern","filter","view"]},emails:{type:"array",description:"Email addresses of the recipients to share this content with.",items:{type:"string",format:"email"}},share:{type:"boolean",description:`When true, flip visibility to public and send invitation emails to
1175
1175
  the recipients. When false, revert visibility to private.
1176
- `}}}}}}}}},K=E;var F={openapi:"3.0.0",info:{title:"Invitation","x-deprecated":true,description:"OpenAPI schema for managing invitations.",version:"v1beta2",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},tags:[{name:"Invitation",description:"Operations related to invitation"}],security:[{jwt:[]}],paths:{"/api/organizations/invitations/{invitationId}":{get:{"x-internal":["cloud"],operationId:"getInvitation",tags:["Invitation"],summary:"Get an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{200:{content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud"],operationId:"deleteInvitation",tags:["Invitation"],summary:"Delete an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{204:{description:"Invitation deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{"x-internal":["cloud"],operationId:"updateInvitation",tags:["Invitation"],summary:"Update an existing invitation",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"},description:"The emails of the invitation."},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},maxLength:500,format:"uuid"},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}}}},required:true},responses:{200:{content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations":{get:{"x-internal":["cloud"],operationId:"getInvitations",tags:["Invitation"],summary:"Get all invitations for the organization",responses:{200:{content:{"application/json":{schema:{type:"object",required:["data","total"],properties:{data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}},"x-go-type":"Invitation"},description:"List of invitations","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available","x-oapi-codegen-extra-tags":{json:"total"},minimum:0}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],operationId:"createInvitation",tags:["Invitation"],summary:"Create a new invitation for the organization",requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"},description:"The emails of the invitation."},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},maxLength:500,format:"uuid"},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}}}},required:true},responses:{201:{content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations/{invitationId}/accept":{post:{"x-internal":["cloud"],operationId:"acceptInvitation",tags:["Invitation"],summary:"Accept an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{200:{content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/users/invite":{post:{"x-internal":["cloud"],operationId:"handleUserInvite",tags:["Invitation"],summary:"Invite users to an organization",parameters:[{name:"orgId",in:"path",required:true,description:"The ID of the organization",schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Invitation request accepted",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request":{post:{"x-internal":["cloud"],operationId:"signupRequest",tags:["Invitation"],summary:"Create a signup request",security:[],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{201:{description:"Signup request created",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},get:{"x-internal":["cloud"],operationId:"getSignupRequests",tags:["Invitation"],summary:"Get signup requests",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"filter",in:"query",description:"Get filtered reponses",schema:{type:"string"}}],responses:{200:{description:"Signup requests page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},page_size:{type:"integer",description:"Number of items per page.",minimum:1},total_count:{type:"integer",description:"Total number of items available.",minimum:0},data:{type:"array",items:{type:"object",additionalProperties:true},description:"The data of the signuprequestspage."}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/approve":{post:{"x-internal":["cloud"],operationId:"approveSignupRequest",tags:["Invitation"],summary:"Approve a signup request",responses:{200:{description:"Signup request approved",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/deny":{post:{"x-internal":["cloud"],operationId:"denySignupRequest",tags:["Invitation"],summary:"Deny a signup request",responses:{200:{description:"Signup request denied",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/notification":{get:{"x-internal":["cloud"],operationId:"getSignupRequestNotification",tags:["Invitation"],summary:"Get signup request notification summary",responses:{200:{description:"Signup request notification payload",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},204:{description:"No pending signup request notifications"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{parameters:{organization_id:{name:"organizationId",in:"path",required:true,description:"The ID of the organization",schema:{type:"string"}},invitation_id:{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}},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"}}}}},securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},schemas:{Uuid:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},InvitationsPage:{type:"object",required:["data","total"],properties:{data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}},"x-go-type":"Invitation"},description:"List of invitations","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available","x-oapi-codegen-extra-tags":{json:"total"},minimum:0}}},SignupRequest:{type:"object",additionalProperties:true},SignupRequestsPage:{type:"object",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},page_size:{type:"integer",description:"Number of items per page.",minimum:1},total_count:{type:"integer",description:"Total number of items available.",minimum:0},data:{type:"array",items:{type:"object",additionalProperties:true},description:"The data of the signuprequestspage."}}},InvitationPayload:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"},description:"The emails of the invitation."},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},maxLength:500,format:"uuid"},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}},InvitationStatus:{type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},Invitation:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},W=F;var B={openapi:"3.0.0",info:{title:"Relationship",description:"OpenAPI schema for relationship definitions between Meshery components.",version:"v1beta2",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},paths:{},components:{schemas:{RelationshipDefinition:{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",additionalProperties:false,required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{description:"Uniquely identifies the entity","x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"},maxLength:255},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"},maxLength:255},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1beta1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/capability",name:"capabilityv1beta1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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":"RelationshipMetadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"column:metadata;type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,"x-go-name":"RelationshipMetadata",properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{json:"description"},maxLength:5e3},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{json:"primaryColor"},maxLength:500},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{json:"secondaryColor,omitempty"},maxLength:500},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{json:"svgWhite"},maxLength:500},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{json:"svgColor"},maxLength:500},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{json:"svgComplete,omitempty"},maxLength:500},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{json:"color,omitempty"},maxLength:500},textOpacity:{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{json:"textOpacity,omitempty"},minimum:0,maximum:1},fontFamily:{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{json:"fontFamily,omitempty"},maxLength:500},fontSize:{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{json:"fontSize,omitempty"},maxLength:500},fontStyle:{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{json:"fontStyle,omitempty"},maxLength:500},fontWeight:{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{json:"fontWeight,omitempty"},maxLength:500},textTransform:{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{json:"textTransform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{json:"opacity,omitempty"},minimum:0,maximum:1},zIndex:{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{json:"zIndex,omitempty"},minimum:0},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{json:"label,omitempty"},maxLength:500},edgeAnimation:{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{json:"edgeAnimation,omitempty"},maxLength:500},curveStyle:{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{json:"curveStyle,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},lineColor:{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{json:"lineColor,omitempty"},maxLength:500},lineStyle:{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{json:"lineStyle,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},lineCap:{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{json:"lineCap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},lineOpacity:{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{json:"lineOpacity,omitempty"},minimum:0,maximum:1},targetArrowColor:{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{json:"targetArrowColor,omitempty"},maxLength:500},targetArrowShape:{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{json:"targetArrowShape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},targetArrowFill:{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{json:"targetArrowFill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},midTargetArrowColor:{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{json:"midTargetArrowColor,omitempty"},maxLength:500},midTargetArrowShape:{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{json:"midTargetArrowShape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},midTargetArrowFill:{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{json:"midTargetArrowFill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},arrowScale:{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{json:"arrowScale,omitempty"},minimum:0},sourceLabel:{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{json:"sourceLabel,omitempty"},maxLength:500},targetLabel:{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{json:"targetLabel,omitempty"},maxLength:500}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models",helperText:"Select a model","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},"x-generate-db-helpers":true,type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},model_id:{"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,description:"Foreign key reference to the model","x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"},maxLength:500},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{"x-oapi-codegen-extra-tags":{json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"refs,omitempty"},description:"The refs of the matchselector."},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{"x-oapi-codegen-extra-tags":{json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"from,omitempty"},description:"The from of the matchselector."},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{"x-oapi-codegen-extra-tags":{json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"to,omitempty"},description:"The to of the matchselector."}}},matchStrategyMatrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"matchStrategyMatrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{json:"model,omitempty"},"x-generate-db-helpers":true,type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinitionSelectorsPatch","x-oapi-codegen-extra-tags":{json:"patch"},type:"object",description:"Patch configuration for the selector","x-go-name":"RelationshipDefinitionSelectorsPatch",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
1176
+ `}}}}}}}}},K=E;var F={openapi:"3.0.0",info:{title:"Invitation","x-deprecated":true,description:"OpenAPI schema for managing invitations.",version:"v1beta2",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},tags:[{name:"Invitation",description:"Operations related to invitation"}],security:[{jwt:[]}],paths:{"/api/organizations/invitations/{invitationId}":{get:{"x-internal":["cloud"],operationId:"getInvitation",tags:["Invitation"],summary:"Get an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{200:{content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud"],operationId:"deleteInvitation",tags:["Invitation"],summary:"Delete an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{204:{description:"Invitation deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{"x-internal":["cloud"],operationId:"updateInvitation",tags:["Invitation"],summary:"Update an existing invitation",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"},description:"The emails of the invitation."},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},maxLength:500,format:"uuid"},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}}}},required:true},responses:{200:{content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations":{get:{"x-internal":["cloud"],operationId:"getInvitations",tags:["Invitation"],summary:"Get all invitations for the organization",responses:{200:{content:{"application/json":{schema:{type:"object",required:["data","total"],properties:{data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}},"x-go-type":"Invitation"},description:"List of invitations","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available","x-oapi-codegen-extra-tags":{json:"total"},minimum:0}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],operationId:"createInvitation",tags:["Invitation"],summary:"Create a new invitation for the organization",requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"},description:"The emails of the invitation."},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},maxLength:500,format:"uuid"},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}}}},required:true},responses:{201:{content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations/{invitationId}/accept":{post:{"x-internal":["cloud"],operationId:"acceptInvitation",tags:["Invitation"],summary:"Accept an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{200:{content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/users/invite":{post:{"x-internal":["cloud"],operationId:"handleUserInvite",tags:["Invitation"],summary:"Invite users to an organization",parameters:[{name:"orgId",in:"path",required:true,description:"The ID of the organization",schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Invitation request accepted",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request":{post:{"x-internal":["cloud"],operationId:"signupRequest",tags:["Invitation"],summary:"Create a signup request",security:[],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{201:{description:"Signup request created",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},get:{"x-internal":["cloud"],operationId:"getSignupRequests",tags:["Invitation"],summary:"Get signup requests",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"filter",in:"query",description:"Get filtered reponses",schema:{type:"string"}}],responses:{200:{description:"Signup requests page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},page_size:{type:"integer",description:"Number of items per page.",minimum:1},total_count:{type:"integer",description:"Total number of items available.",minimum:0},data:{type:"array",items:{type:"object",additionalProperties:true},description:"The data of the signuprequestspage."}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/approve":{post:{"x-internal":["cloud"],operationId:"approveSignupRequest",tags:["Invitation"],summary:"Approve a signup request",responses:{200:{description:"Signup request approved",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/deny":{post:{"x-internal":["cloud"],operationId:"denySignupRequest",tags:["Invitation"],summary:"Deny a signup request",responses:{200:{description:"Signup request denied",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/notification":{get:{"x-internal":["cloud"],operationId:"getSignupRequestNotification",tags:["Invitation"],summary:"Get signup request notification summary",responses:{200:{description:"Signup request notification payload",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},204:{description:"No pending signup request notifications"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{parameters:{organization_id:{name:"organizationId",in:"path",required:true,description:"The ID of the organization",schema:{type:"string"}},invitation_id:{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}},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"}}}}},securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},schemas:{Uuid:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},InvitationsPage:{type:"object",required:["data","total"],properties:{data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}},"x-go-type":"Invitation"},description:"List of invitations","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available","x-oapi-codegen-extra-tags":{json:"total"},minimum:0}}},SignupRequest:{type:"object",additionalProperties:true},SignupRequestsPage:{type:"object",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},page_size:{type:"integer",description:"Number of items per page.",minimum:1},total_count:{type:"integer",description:"Total number of items available.",minimum:0},data:{type:"array",items:{type:"object",additionalProperties:true},description:"The data of the signuprequestspage."}}},InvitationPayload:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"},description:"The emails of the invitation."},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},maxLength:500,format:"uuid"},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}},InvitationStatus:{type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},Invitation:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description",maxLength:5e3},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"},description:"The emails of the invitation."},org_id:{description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota",minimum:0},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"},description:"The roles of the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"},description:"The teams of the invitation."},status:{"x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},W=F;var B={openapi:"3.0.0",info:{title:"Relationship",description:"OpenAPI schema for relationship definitions between Meshery components.",version:"v1beta2",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},paths:{},components:{schemas:{RelationshipDefinition:{description:"Relationships define the nature of interaction between interconnected components in Meshery. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.",type:"object",additionalProperties:false,required:["schemaVersion","version","model","kind","type","subType","id"],properties:{id:{description:"Uniquely identifies the entity","x-go-type-skip-optional-pointer":true,"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the relationship definition.","x-order":8,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Specifies the version of the relationship definition.","x-order":13,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},kind:{description:"Kind of the Relationship. Learn more about relationships - https://docs.meshery.io/concepts/logical/relationships.",type:"string",enum:["hierarchical","edge","sibling"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"kind",json:"kind"}},type:{description:"Classification of relationships. Used to group relationships similar in nature.",type:"string","x-go-name":"RelationshipType","x-go-type-skip-optional-pointer":true,"x-order":12,"x-oapi-codegen-extra-tags":{yaml:"type",json:"type",gorm:"column:type"},maxLength:255},subType:{description:"Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.",type:"string","x-go-type-skip-optional-pointer":true,"x-order":10,"x-oapi-codegen-extra-tags":{yaml:"subType",json:"subType"},maxLength:255},status:{type:"string",description:"Status of the relationship.",enum:["enabled","ignored","deleted","approved","pending"],"x-order":11,"x-oapi-codegen-extra-tags":{yaml:"status",json:"status"}},capabilities:{type:"array",description:"Capabilities associated with the relationship.","x-order":2,items:{"x-go-type":"capabilityv1beta1.Capability","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/capability",name:"capabilityv1beta1"},$id:"https://schemas.meshery.io/capability.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle management.",additionalProperties:false,type:"object",required:["description","schemaVersion","version","displayName","kind","type","subType","entityState","key","status"],"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{schemaVersion:{description:"Specifies the version of the schema to which the capability definition conforms.",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[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":"RelationshipMetadata","x-order":5,"x-oapi-codegen-extra-tags":{gorm:"column:metadata;type:bytes;serializer:json",yaml:"metadata",json:"metadata,omitempty"},type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,"x-go-name":"RelationshipMetadata",properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{json:"description"},maxLength:5e3},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{json:"primaryColor"},maxLength:500},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{json:"secondaryColor,omitempty"},maxLength:500},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{json:"svgWhite"},maxLength:500},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{json:"svgColor"},maxLength:500},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{json:"svgComplete,omitempty"},maxLength:500},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{json:"color,omitempty"},maxLength:500},textOpacity:{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{json:"textOpacity,omitempty"},minimum:0,maximum:1},fontFamily:{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{json:"fontFamily,omitempty"},maxLength:500},fontSize:{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{json:"fontSize,omitempty"},maxLength:500},fontStyle:{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{json:"fontStyle,omitempty"},maxLength:500},fontWeight:{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{json:"fontWeight,omitempty"},maxLength:500},textTransform:{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{json:"textTransform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{json:"opacity,omitempty"},minimum:0,maximum:1},zIndex:{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{json:"zIndex,omitempty"},minimum:0},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{json:"label,omitempty"},maxLength:500},edgeAnimation:{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{json:"edgeAnimation,omitempty"},maxLength:500},curveStyle:{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{json:"curveStyle,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},lineColor:{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{json:"lineColor,omitempty"},maxLength:500},lineStyle:{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{json:"lineStyle,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},lineCap:{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{json:"lineCap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},lineOpacity:{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{json:"lineOpacity,omitempty"},minimum:0,maximum:1},targetArrowColor:{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{json:"targetArrowColor,omitempty"},maxLength:500},targetArrowShape:{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{json:"targetArrowShape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},targetArrowFill:{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{json:"targetArrowFill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},midTargetArrowColor:{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{json:"midTargetArrowColor,omitempty"},maxLength:500},midTargetArrowShape:{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{json:"midTargetArrowShape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},midTargetArrowFill:{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{json:"midTargetArrowFill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},arrowScale:{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{json:"arrowScale,omitempty"},minimum:0},sourceLabel:{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{json:"sourceLabel,omitempty"},maxLength:500},targetLabel:{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{json:"targetLabel,omitempty"},maxLength:500}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{json:"isAnnotation"}}}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-go-type-skip-optional-pointer":true,"x-order":6,description:"Model Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models",helperText:"Select a model","x-oapi-codegen-extra-tags":{yaml:"model",json:"model",gorm:"type:bytes;serializer:json"},"x-generate-db-helpers":true,type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},model_id:{"x-go-type-skip-optional-pointer":true,"x-go-name":"ModelId","x-order":7,description:"Foreign key reference to the model","x-oapi-codegen-extra-tags":{json:"-",gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},evaluationQuery:{description:"Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"evaluationQuery",json:"evaluationQuery"},maxLength:500},selectors:{"x-go-type":"SelectorSet","x-order":9,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json",yaml:"selectors,omitempty",json:"selectors,omitempty"},type:"array",description:"Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.",items:{"x-go-type":"SelectorSetItem",type:"object",description:"Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.",required:["allow"],properties:{allow:{description:"Selectors used to define relationships which are allowed.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{json:"allow"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{"x-oapi-codegen-extra-tags":{json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"refs,omitempty"},description:"The refs of the matchselector."},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{"x-oapi-codegen-extra-tags":{json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"from,omitempty"},description:"The from of the matchselector."},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{"x-oapi-codegen-extra-tags":{json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"to,omitempty"},description:"The to of the matchselector."}}},matchStrategyMatrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"matchStrategyMatrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{json:"model,omitempty"},"x-generate-db-helpers":true,type:"object",required:["id","name","version","displayName","model","registrant"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"]},version:{description:"Version of the model definition.",type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{type:"string",description:"Human-readable name for the model.",minLength:1,maxLength:100,pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"]},model:{type:"object",description:"Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31).",required:["version"],properties:{version:{description:"Version of the model as defined by the registrant.","x-oapi-codegen-extra-tags":{json:"version"},"x-order":1,type:"string",minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"}}},registrant:{"x-go-type":"RegistrantReference","x-oapi-codegen-extra-tags":{json:"registrant"},type:"object",required:["kind"],properties:{kind:{type:"string",description:"Kind of the registrant.",maxLength:255}}}}},patch:{"x-go-type":"RelationshipDefinitionSelectorsPatch","x-oapi-codegen-extra-tags":{json:"patch"},type:"object",description:"Patch configuration for the selector","x-go-name":"RelationshipDefinitionSelectorsPatch",properties:{patchStrategy:{"x-oapi-codegen-extra-tags":{json:"patchStrategy,omitempty"},type:"string",description:`patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
1177
1177
 
1178
1178
  add: Inserts a value into an array or adds a member to an object.
1179
1179
  merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.