@meshery/schemas 1.3.44 → 1.3.46

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 (35) hide show
  1. package/dist/cloudApi.d.mts +882 -4
  2. package/dist/cloudApi.d.ts +882 -4
  3. package/dist/cloudApi.js +1 -1
  4. package/dist/cloudApi.mjs +1 -1
  5. package/dist/constructs/v1beta1/pattern/Pattern.d.ts +1424 -3
  6. package/dist/constructs/v1beta1/pattern/PatternSchema.js +49 -1
  7. package/dist/constructs/v1beta1/pattern/PatternSchema.mjs +49 -1
  8. package/dist/constructs/v1beta2/design/Design.d.ts +1557 -47
  9. package/dist/constructs/v1beta2/design/DesignSchema.js +137 -45
  10. package/dist/constructs/v1beta2/design/DesignSchema.mjs +137 -45
  11. package/dist/constructs/v1beta2/relationship/Relationship.d.ts +34 -17
  12. package/dist/constructs/v1beta2/relationship/RelationshipSchema.js +34 -17
  13. package/dist/constructs/v1beta2/relationship/RelationshipSchema.mjs +34 -17
  14. package/dist/constructs/v1beta3/design/Design.d.ts +371 -7
  15. package/dist/constructs/v1beta3/design/DesignSchema.js +14 -5
  16. package/dist/constructs/v1beta3/design/DesignSchema.mjs +14 -5
  17. package/dist/constructs/v1beta3/relationship/Relationship.d.ts +685 -100
  18. package/dist/constructs/v1beta3/relationship/RelationshipSchema.js +468 -18
  19. package/dist/constructs/v1beta3/relationship/RelationshipSchema.mjs +468 -18
  20. package/dist/constructs/v1beta3/subscription/Subscription.d.ts +436 -0
  21. package/dist/constructs/v1beta3/subscription/SubscriptionSchema.js +1 -1
  22. package/dist/constructs/v1beta3/subscription/SubscriptionSchema.mjs +1 -1
  23. package/dist/index.d.mts +74 -37
  24. package/dist/index.d.ts +74 -37
  25. package/dist/index.js +226 -69
  26. package/dist/index.mjs +226 -69
  27. package/dist/mesheryApi.d.mts +235 -3
  28. package/dist/mesheryApi.d.ts +235 -3
  29. package/dist/mesheryApi.js +1 -1
  30. package/dist/mesheryApi.mjs +1 -1
  31. package/dist/permissions.d.mts +71 -1
  32. package/dist/permissions.d.ts +71 -1
  33. package/dist/permissions.js +1 -1
  34. package/dist/permissions.mjs +1 -1
  35. package/package.json +2 -2
@@ -28,7 +28,12 @@ MesheryPatternImportRequestBody under multipart/form-data, which
28
28
  the handler never parses; it remained wired up solely to share
29
29
  a schema ref with /api/pattern/import. See meshery/schemas#771
30
30
  for the drift analysis.
31
- `,parameters:[{name:"designId",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 `fileName` are required; the server uses the file name to identify the file type (Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design).",required:["file","fileName"],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."},fileName:{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",minimum:0}},{name:"pageSize",in:"query",description:"Number of items per page (canonical camelCase form).",schema:{type:"integer",minimum:1}},{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",description:"Paginated catalog content listing (designs, filters, aggregate counts).",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},pageSize:{type:"integer",description:"Number of items per page.",minimum:1},totalCount:{type:"integer",description:"Total number of items available.",minimum:0},patterns:{type:"array",items:{type:"object",description:"Server-returned design (pattern) resource as persisted by meshery-cloud.",properties:{id:{description:"Server-generated design 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:{description:"Human-readable design name.",type:"string","x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the design when published.","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"]},userId:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner"},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},user:{description:'Owning user record, joined inline by the catalog list/get handlers when shaping responses. Server-projected from the users table via the design\'s userId; not a column on the meshery_patterns table itself, so the generated Go field is tagged `db:"-"` to keep it out of ORM column scans.\n',nullable:true,"x-go-type":"*userV1beta.User","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/user",name:"userV1beta"},"x-oapi-codegen-extra-tags":{db:"-"},type:"object",required:["id","userId","provider","email","firstName","lastName","status","createdAt","updatedAt","lastLoginTime","deletedAt"],properties:{id:{description:"Unique identifier for the user","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},userId:{type:"string",maxLength:200,deprecated:true,description:"Legacy IdP-derived identifier. Removed in v1beta3; resolve users by id or email.","x-oapi-codegen-extra-tags":{db:"user_id",json:"userId"},"x-id-format":"external"},provider:{type:"string",maxLength:100,description:"Authentication provider (e.g., Google, Github)",example:["local","github","google","twitter"],"x-oapi-codegen-extra-tags":{db:"provider",json:"provider"}},email:{type:"string",format:"email",maxLength:300,description:"User's email address","x-oapi-codegen-extra-tags":{db:"email",json:"email"}},firstName:{type:"string",maxLength:200,description:"User's first name","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName"}},lastName:{type:"string",maxLength:300,description:"User's last name","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName"}},avatarUrl:{type:"string",format:"uri",maxLength:500,description:"URL to user's avatar image","x-oapi-codegen-extra-tags":{db:"avatar_url",json:"avatarUrl"}},status:{type:"string",maxLength:100,enum:["active","inactive","pending","anonymous"],description:"User account status","x-oapi-codegen-extra-tags":{db:"status",json:"status"}},bio:{type:"string",maxLength:1e3,default:"",description:"User's biography or description","x-oapi-codegen-extra-tags":{db:"bio",json:"bio"}},country:{type:"object",description:"User's country information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"country",json:"country"}},region:{type:"object",description:"User's region information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"region",json:"region"}},preferences:{"x-go-type":"Preference",description:"User preferences stored as JSONB","x-oapi-codegen-extra-tags":{db:"preferences",json:"preferences"},"x-generate-db-helpers":true,type:"object",required:["anonymousUsageStats","anonymousPerfResults","updatedAt","dashboardPreferences","selectedOrganizationId","selectedWorkspaceForOrganizations","usersExtensionPreferences","remoteProviderPreferences"],properties:{meshAdapters:{type:"array",items:{"x-go-type":"Adapter",type:"object",description:"Placeholder for Adapter struct definition."},description:"The mesh adapters of the preference."},grafana:{"x-go-type":"Grafana",type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},prometheus:{"x-go-type":"Prometheus",type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},loadTestPrefs:{"x-go-type":"LoadTestPreferences",type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},anonymousUsageStats:{type:"boolean",description:"The anonymous usage stats of the preference."},anonymousPerfResults:{type:"boolean",description:"The anonymous perf results of the preference."},updatedAt:{type:"string",format:"date-time",description:"Timestamp of when the resource was last updated."},dashboardPreferences:{type:"object",additionalProperties:true,description:"The dashboard preferences of the preference."},selectedOrganizationId:{type:"string",description:"ID of the associated selectedOrganization.",maxLength:500,format:"uuid"},selectedWorkspaceForOrganizations:{type:"object",additionalProperties:{type:"string"},description:"The selected workspace for organizations of the preference."},usersExtensionPreferences:{type:"object",additionalProperties:true,description:"The users extension preferences of the preference."},remoteProviderPreferences:{type:"object",additionalProperties:true,description:"The remote provider preferences of the preference."}}},acceptedTermsAt:{description:"Timestamp when user accepted terms and conditions","x-oapi-codegen-extra-tags":{db:"accepted_terms_at",json:"acceptedTermsAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},firstLoginTime:{description:"Timestamp of user's first login","x-oapi-codegen-extra-tags":{db:"first_login_time",json:"firstLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},lastLoginTime:{description:"Timestamp of user's most recent login","x-oapi-codegen-extra-tags":{db:"last_login_time",json:"lastLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},createdAt:{description:"Timestamp when the user record was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the user record was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},socials:{type:"array",description:"Various online profiles associated with the user account","x-go-type":"UserSocials",items:{"x-go-type":"Social",description:"Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.",type:"object",properties:{site:{type:"string",maxLength:50,description:"The site of the social."},link:{type:"string",format:"uri",description:"The link of the social."}},required:["site","link"]},"x-oapi-codegen-extra-tags":{db:"socials",json:"socials"}},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the user record was soft-deleted (null if not deleted)","x-go-type":"core.NullTime","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},description:'Names of the global roles assigned to the user. Free-form, user-generated values sourced from the roles table (role_name is a varchar, not a fixed enumeration); the seeded system roles such as "admin", "organization admin" and "user" are a subset, not the whole set.',example:["organization admin","user"],"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}},teams:{type:"object",description:"Teams the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"teams",json:"teams"},properties:{teamsWithRoles:{type:"array",description:"Team memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"A team the user is a member of, together with the names of the roles assigned to that user within the team. Returned as an item of User.teams.teamsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the team.","x-go-name":"ID","x-order":1,"x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the team.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the team.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},owner:{description:"Identifier of the team owner.","x-order":4,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{type:"object",additionalProperties:true,description:"Free-form metadata associated with the team.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-order":5,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},createdAt:{description:"Timestamp when the team was created.","x-order":6,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the team was last updated.","x-order":7,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the team was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":8,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this team. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":9,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"teams_with_roles",json:"teamsWithRoles"}},totalCount:{type:"integer",description:"Total number of team memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}},organizations:{type:"object",description:"Organizations the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"organizations",json:"organizations"},properties:{organizationsWithRoles:{type:"array",description:"Organization memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"An organization the user is a member of, together with the names of the roles assigned to that user within the organization. Returned as an item of User.organizations.organizationsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the organization.","x-go-name":"ID","x-order":1,"x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the organization.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the organization.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},country:{type:"string",description:"Country associated with the organization.","x-order":4,"x-oapi-codegen-extra-tags":{db:"country",json:"country,omitempty"}},region:{type:"string",description:"Region associated with the organization.","x-order":5,"x-oapi-codegen-extra-tags":{db:"region",json:"region,omitempty"}},owner:{description:"Identifier of the organization owner.","x-order":6,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the organization was created.","x-order":7,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the organization was last updated.","x-order":8,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the organization was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":9,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this organization. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":10,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"organizations_with_roles",json:"organizationsWithRoles"}},totalCount:{type:"integer",description:"Total number of organization memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}}},additionalProperties:false},location:{description:"Optional structured location metadata (branch, host, path, ...).",type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},patternFile:{type:"string",description:"Raw design body as it is persisted in the meshery_patterns table's `pattern_file` column. The wire form is the YAML/JSON string the server stores verbatim; consumers that need the structured form transcode at the boundary by parsing the string into a PatternFile (see #/components/schemas/PatternFile) and marshalling it back when they write. Keeping the wire shape as a string mirrors the column's actual representation and avoids forcing every consumer through the structured-vs- string union that the previous *PatternFile typing implied.\n",maxLength:16777216,"x-oapi-codegen-extra-tags":{db:"pattern_file"}},visibility:{type:"string",description:"Visibility scope of the design \u2014 controls whether non-owners may read or list it. `private` is owner-only, `public` is readable by anyone in the org, and `published` is visible in the catalog.\n",enum:["private","public","published"],"x-enum-casing-exempt":true,maxLength:32,"x-oapi-codegen-extra-tags":{db:"visibility"}},designType:{type:"string",description:"Discriminator identifying the source format of the design body, persisted in the meshery_patterns table's `source_type` column (nullable; null for legacy rows imported before the column was introduced). For catalog listings the server may also project this field from the attached catalog metadata. Use this field to branch rendering between native Meshery designs and imported Helm charts, Kubernetes manifests, and Docker Compose files.\n","x-enum-casing-exempt":true,nullable:true,enum:["Design","Helm Chart","Docker Compose","Kubernetes Manifest"],maxLength:64,"x-oapi-codegen-extra-tags":{db:"source_type"}},sourceContent:{type:"string",format:"byte",nullable:true,description:"Raw bytes of the imported source artifact (Helm chart tarball, Kubernetes manifest, Docker Compose file, etc.) preserved in the meshery_patterns table's `source_content` column for non-Meshery-Design imports. Empty / null for native Meshery designs. Server-managed: populated by the import and upload handlers and scrubbed to null on most read responses, so clients should treat this as opaque base64-encoded bytes when it does appear on the wire.\n","x-oapi-codegen-extra-tags":{db:"source_content",json:"sourceContent,omitempty"}},viewCount:{type:"integer",description:`Server-aggregated count of views on this design in the catalog. Present on list/catalog responses; server-managed and ignored on writes.
31
+ `,parameters:[{name:"designId",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 `fileName` are required; the server uses the file name to identify the file type (Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design).",required:["file","fileName"],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."},fileName:{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. The response body is a JSON array of the saved designs, not a message envelope. The import path saves exactly one design, so the array carries a single element and consumers read the imported design as the first element.",content:{"application/json":{schema:{type:"array",description:"Designs persisted by the import, in the order they were saved. Always a single element on this path.",minItems:1,items:{type:"object",description:"Server-returned design (pattern) resource as persisted by meshery-cloud.",properties:{id:{description:"Server-generated design 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:{description:"Human-readable design name.",type:"string","x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the design when published.","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"]},userId:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner"},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},user:{description:'Owning user record, joined inline by the catalog list/get handlers when shaping responses. Server-projected from the users table via the design\'s userId; not a column on the meshery_patterns table itself, so the generated Go field is tagged `db:"-"` to keep it out of ORM column scans.\n',nullable:true,"x-go-type":"*userV1beta.User","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/user",name:"userV1beta"},"x-oapi-codegen-extra-tags":{db:"-"},type:"object",required:["id","userId","provider","email","firstName","lastName","status","createdAt","updatedAt","lastLoginTime","deletedAt"],properties:{id:{description:"Unique identifier for the user","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},userId:{type:"string",maxLength:200,deprecated:true,description:"Legacy IdP-derived identifier. Removed in v1beta3; resolve users by id or email.","x-oapi-codegen-extra-tags":{db:"user_id",json:"userId"},"x-id-format":"external"},provider:{type:"string",maxLength:100,description:"Authentication provider (e.g., Google, Github)",example:["local","github","google","twitter"],"x-oapi-codegen-extra-tags":{db:"provider",json:"provider"}},email:{type:"string",format:"email",maxLength:300,description:"User's email address","x-oapi-codegen-extra-tags":{db:"email",json:"email"}},firstName:{type:"string",maxLength:200,description:"User's first name","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName"}},lastName:{type:"string",maxLength:300,description:"User's last name","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName"}},avatarUrl:{type:"string",format:"uri",maxLength:500,description:"URL to user's avatar image","x-oapi-codegen-extra-tags":{db:"avatar_url",json:"avatarUrl"}},status:{type:"string",maxLength:100,enum:["active","inactive","pending","anonymous"],description:"User account status","x-oapi-codegen-extra-tags":{db:"status",json:"status"}},bio:{type:"string",maxLength:1e3,default:"",description:"User's biography or description","x-oapi-codegen-extra-tags":{db:"bio",json:"bio"}},country:{type:"object",description:"User's country information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"country",json:"country"}},region:{type:"object",description:"User's region information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"region",json:"region"}},preferences:{"x-go-type":"Preference",description:"User preferences stored as JSONB","x-oapi-codegen-extra-tags":{db:"preferences",json:"preferences"},"x-generate-db-helpers":true,type:"object",required:["anonymousUsageStats","anonymousPerfResults","updatedAt","dashboardPreferences","selectedOrganizationId","selectedWorkspaceForOrganizations","usersExtensionPreferences","remoteProviderPreferences"],properties:{meshAdapters:{type:"array",items:{"x-go-type":"Adapter",type:"object",description:"Placeholder for Adapter struct definition."},description:"The mesh adapters of the preference."},grafana:{"x-go-type":"Grafana",type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},prometheus:{"x-go-type":"Prometheus",type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},loadTestPrefs:{"x-go-type":"LoadTestPreferences",type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},anonymousUsageStats:{type:"boolean",description:"The anonymous usage stats of the preference."},anonymousPerfResults:{type:"boolean",description:"The anonymous perf results of the preference."},updatedAt:{type:"string",format:"date-time",description:"Timestamp of when the resource was last updated."},dashboardPreferences:{type:"object",additionalProperties:true,description:"The dashboard preferences of the preference."},selectedOrganizationId:{type:"string",description:"ID of the associated selectedOrganization.",maxLength:500,format:"uuid"},selectedWorkspaceForOrganizations:{type:"object",additionalProperties:{type:"string"},description:"The selected workspace for organizations of the preference."},usersExtensionPreferences:{type:"object",additionalProperties:true,description:"The users extension preferences of the preference."},remoteProviderPreferences:{type:"object",additionalProperties:true,description:"The remote provider preferences of the preference."}}},acceptedTermsAt:{description:"Timestamp when user accepted terms and conditions","x-oapi-codegen-extra-tags":{db:"accepted_terms_at",json:"acceptedTermsAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},firstLoginTime:{description:"Timestamp of user's first login","x-oapi-codegen-extra-tags":{db:"first_login_time",json:"firstLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},lastLoginTime:{description:"Timestamp of user's most recent login","x-oapi-codegen-extra-tags":{db:"last_login_time",json:"lastLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},createdAt:{description:"Timestamp when the user record was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the user record was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},socials:{type:"array",description:"Various online profiles associated with the user account","x-go-type":"UserSocials",items:{"x-go-type":"Social",description:"Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.",type:"object",properties:{site:{type:"string",maxLength:50,description:"The site of the social."},link:{type:"string",format:"uri",description:"The link of the social."}},required:["site","link"]},"x-oapi-codegen-extra-tags":{db:"socials",json:"socials"}},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the user record was soft-deleted (null if not deleted)","x-go-type":"core.NullTime","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},description:'Names of the global roles assigned to the user. Free-form, user-generated values sourced from the roles table (role_name is a varchar, not a fixed enumeration); the seeded system roles such as "admin", "organization admin" and "user" are a subset, not the whole set.',example:["organization admin","user"],"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}},teams:{type:"object",description:"Teams the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"teams",json:"teams"},properties:{teamsWithRoles:{type:"array",description:"Team memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"A team the user is a member of, together with the names of the roles assigned to that user within the team. Returned as an item of User.teams.teamsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the team.","x-go-name":"ID","x-order":1,"x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the team.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the team.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},owner:{description:"Identifier of the team owner.","x-order":4,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{type:"object",additionalProperties:true,description:"Free-form metadata associated with the team.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-order":5,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},createdAt:{description:"Timestamp when the team was created.","x-order":6,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the team was last updated.","x-order":7,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the team was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":8,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this team. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":9,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"teams_with_roles",json:"teamsWithRoles"}},totalCount:{type:"integer",description:"Total number of team memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}},organizations:{type:"object",description:"Organizations the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"organizations",json:"organizations"},properties:{organizationsWithRoles:{type:"array",description:"Organization memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"An organization the user is a member of, together with the names of the roles assigned to that user within the organization. Returned as an item of User.organizations.organizationsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the organization.","x-go-name":"ID","x-order":1,"x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the organization.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the organization.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},country:{type:"string",description:"Country associated with the organization.","x-order":4,"x-oapi-codegen-extra-tags":{db:"country",json:"country,omitempty"}},region:{type:"string",description:"Region associated with the organization.","x-order":5,"x-oapi-codegen-extra-tags":{db:"region",json:"region,omitempty"}},owner:{description:"Identifier of the organization owner.","x-order":6,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the organization was created.","x-order":7,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the organization was last updated.","x-order":8,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the organization was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":9,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this organization. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":10,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"organizations_with_roles",json:"organizationsWithRoles"}},totalCount:{type:"integer",description:"Total number of organization memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}}},additionalProperties:false},location:{description:"Optional structured location metadata (branch, host, path, ...).",type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},patternFile:{type:"string",description:"Raw design body as it is persisted in the meshery_patterns table's `pattern_file` column. The wire form is the YAML/JSON string the server stores verbatim; consumers that need the structured form transcode at the boundary by parsing the string into a PatternFile (see #/components/schemas/PatternFile) and marshalling it back when they write. Keeping the wire shape as a string mirrors the column's actual representation and avoids forcing every consumer through the structured-vs- string union that the previous *PatternFile typing implied.\n",maxLength:16777216,"x-oapi-codegen-extra-tags":{db:"pattern_file"}},visibility:{type:"string",description:"Visibility scope of the design \u2014 controls whether non-owners may read or list it. `private` is owner-only, `public` is readable by anyone in the org, and `published` is visible in the catalog.\n",enum:["private","public","published"],"x-enum-casing-exempt":true,maxLength:32,"x-oapi-codegen-extra-tags":{db:"visibility"}},designType:{type:"string",description:"Discriminator identifying the source format of the design body, persisted in the meshery_patterns table's `source_type` column (nullable; null for legacy rows imported before the column was introduced). For catalog listings the server may also project this field from the attached catalog metadata. Use this field to branch rendering between native Meshery designs and imported Helm charts, Kubernetes manifests, and Docker Compose files.\n","x-enum-casing-exempt":true,nullable:true,enum:["Design","Helm Chart","Docker Compose","Kubernetes Manifest"],maxLength:64,"x-oapi-codegen-extra-tags":{db:"source_type"}},sourceContent:{type:"string",format:"byte",nullable:true,description:"Raw bytes of the imported source artifact (Helm chart tarball, Kubernetes manifest, Docker Compose file, etc.) preserved in the meshery_patterns table's `source_content` column for non-Meshery-Design imports. Empty / null for native Meshery designs. Server-managed: populated by the import and upload handlers and scrubbed to null on most read responses, so clients should treat this as opaque base64-encoded bytes when it does appear on the wire.\n","x-oapi-codegen-extra-tags":{db:"source_content",json:"sourceContent,omitempty"}},viewCount:{type:"integer",description:`Server-aggregated count of views on this design in the catalog. Present on list/catalog responses; server-managed and ignored on writes.
32
+ `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"view_count",json:"viewCount,omitempty"}},downloadCount:{type:"integer",description:`Server-aggregated count of downloads of this design from the catalog. Server-managed and ignored on writes.
33
+ `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"download_count",json:"downloadCount,omitempty"}},cloneCount:{type:"integer",description:`Server-aggregated count of times this design has been cloned from the catalog. Server-managed and ignored on writes.
34
+ `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"clone_count",json:"cloneCount,omitempty"}},deploymentCount:{type:"integer",description:`Server-aggregated count of deployments originated from this design. Server-managed and ignored on writes.
35
+ `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"deployment_count",json:"deploymentCount,omitempty"}},shareCount:{type:"integer",description:`Server-aggregated count of share events for this design. Server-managed and ignored on writes.
36
+ `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"share_count",json:"shareCount,omitempty"}},createdAt:{description:"Timestamp of design creation.","x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp of last design modification.","x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}}},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",minimum:0}},{name:"pageSize",in:"query",description:"Number of items per page (canonical camelCase form).",schema:{type:"integer",minimum:1}},{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",description:"Paginated catalog content listing (designs, filters, aggregate counts).",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},pageSize:{type:"integer",description:"Number of items per page.",minimum:1},totalCount:{type:"integer",description:"Total number of items available.",minimum:0},patterns:{type:"array",items:{type:"object",description:"Server-returned design (pattern) resource as persisted by meshery-cloud.",properties:{id:{description:"Server-generated design 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:{description:"Human-readable design name.",type:"string","x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the design when published.","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"]},userId:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner"},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},user:{description:'Owning user record, joined inline by the catalog list/get handlers when shaping responses. Server-projected from the users table via the design\'s userId; not a column on the meshery_patterns table itself, so the generated Go field is tagged `db:"-"` to keep it out of ORM column scans.\n',nullable:true,"x-go-type":"*userV1beta.User","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/user",name:"userV1beta"},"x-oapi-codegen-extra-tags":{db:"-"},type:"object",required:["id","userId","provider","email","firstName","lastName","status","createdAt","updatedAt","lastLoginTime","deletedAt"],properties:{id:{description:"Unique identifier for the user","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},userId:{type:"string",maxLength:200,deprecated:true,description:"Legacy IdP-derived identifier. Removed in v1beta3; resolve users by id or email.","x-oapi-codegen-extra-tags":{db:"user_id",json:"userId"},"x-id-format":"external"},provider:{type:"string",maxLength:100,description:"Authentication provider (e.g., Google, Github)",example:["local","github","google","twitter"],"x-oapi-codegen-extra-tags":{db:"provider",json:"provider"}},email:{type:"string",format:"email",maxLength:300,description:"User's email address","x-oapi-codegen-extra-tags":{db:"email",json:"email"}},firstName:{type:"string",maxLength:200,description:"User's first name","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName"}},lastName:{type:"string",maxLength:300,description:"User's last name","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName"}},avatarUrl:{type:"string",format:"uri",maxLength:500,description:"URL to user's avatar image","x-oapi-codegen-extra-tags":{db:"avatar_url",json:"avatarUrl"}},status:{type:"string",maxLength:100,enum:["active","inactive","pending","anonymous"],description:"User account status","x-oapi-codegen-extra-tags":{db:"status",json:"status"}},bio:{type:"string",maxLength:1e3,default:"",description:"User's biography or description","x-oapi-codegen-extra-tags":{db:"bio",json:"bio"}},country:{type:"object",description:"User's country information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"country",json:"country"}},region:{type:"object",description:"User's region information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"region",json:"region"}},preferences:{"x-go-type":"Preference",description:"User preferences stored as JSONB","x-oapi-codegen-extra-tags":{db:"preferences",json:"preferences"},"x-generate-db-helpers":true,type:"object",required:["anonymousUsageStats","anonymousPerfResults","updatedAt","dashboardPreferences","selectedOrganizationId","selectedWorkspaceForOrganizations","usersExtensionPreferences","remoteProviderPreferences"],properties:{meshAdapters:{type:"array",items:{"x-go-type":"Adapter",type:"object",description:"Placeholder for Adapter struct definition."},description:"The mesh adapters of the preference."},grafana:{"x-go-type":"Grafana",type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},prometheus:{"x-go-type":"Prometheus",type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},loadTestPrefs:{"x-go-type":"LoadTestPreferences",type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},anonymousUsageStats:{type:"boolean",description:"The anonymous usage stats of the preference."},anonymousPerfResults:{type:"boolean",description:"The anonymous perf results of the preference."},updatedAt:{type:"string",format:"date-time",description:"Timestamp of when the resource was last updated."},dashboardPreferences:{type:"object",additionalProperties:true,description:"The dashboard preferences of the preference."},selectedOrganizationId:{type:"string",description:"ID of the associated selectedOrganization.",maxLength:500,format:"uuid"},selectedWorkspaceForOrganizations:{type:"object",additionalProperties:{type:"string"},description:"The selected workspace for organizations of the preference."},usersExtensionPreferences:{type:"object",additionalProperties:true,description:"The users extension preferences of the preference."},remoteProviderPreferences:{type:"object",additionalProperties:true,description:"The remote provider preferences of the preference."}}},acceptedTermsAt:{description:"Timestamp when user accepted terms and conditions","x-oapi-codegen-extra-tags":{db:"accepted_terms_at",json:"acceptedTermsAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},firstLoginTime:{description:"Timestamp of user's first login","x-oapi-codegen-extra-tags":{db:"first_login_time",json:"firstLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},lastLoginTime:{description:"Timestamp of user's most recent login","x-oapi-codegen-extra-tags":{db:"last_login_time",json:"lastLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},createdAt:{description:"Timestamp when the user record was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the user record was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},socials:{type:"array",description:"Various online profiles associated with the user account","x-go-type":"UserSocials",items:{"x-go-type":"Social",description:"Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.",type:"object",properties:{site:{type:"string",maxLength:50,description:"The site of the social."},link:{type:"string",format:"uri",description:"The link of the social."}},required:["site","link"]},"x-oapi-codegen-extra-tags":{db:"socials",json:"socials"}},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the user record was soft-deleted (null if not deleted)","x-go-type":"core.NullTime","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},description:'Names of the global roles assigned to the user. Free-form, user-generated values sourced from the roles table (role_name is a varchar, not a fixed enumeration); the seeded system roles such as "admin", "organization admin" and "user" are a subset, not the whole set.',example:["organization admin","user"],"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}},teams:{type:"object",description:"Teams the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"teams",json:"teams"},properties:{teamsWithRoles:{type:"array",description:"Team memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"A team the user is a member of, together with the names of the roles assigned to that user within the team. Returned as an item of User.teams.teamsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the team.","x-go-name":"ID","x-order":1,"x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the team.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the team.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},owner:{description:"Identifier of the team owner.","x-order":4,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{type:"object",additionalProperties:true,description:"Free-form metadata associated with the team.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-order":5,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},createdAt:{description:"Timestamp when the team was created.","x-order":6,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the team was last updated.","x-order":7,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the team was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":8,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this team. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":9,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"teams_with_roles",json:"teamsWithRoles"}},totalCount:{type:"integer",description:"Total number of team memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}},organizations:{type:"object",description:"Organizations the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"organizations",json:"organizations"},properties:{organizationsWithRoles:{type:"array",description:"Organization memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"An organization the user is a member of, together with the names of the roles assigned to that user within the organization. Returned as an item of User.organizations.organizationsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the organization.","x-go-name":"ID","x-order":1,"x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the organization.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the organization.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},country:{type:"string",description:"Country associated with the organization.","x-order":4,"x-oapi-codegen-extra-tags":{db:"country",json:"country,omitempty"}},region:{type:"string",description:"Region associated with the organization.","x-order":5,"x-oapi-codegen-extra-tags":{db:"region",json:"region,omitempty"}},owner:{description:"Identifier of the organization owner.","x-order":6,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the organization was created.","x-order":7,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the organization was last updated.","x-order":8,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the organization was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":9,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this organization. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":10,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"organizations_with_roles",json:"organizationsWithRoles"}},totalCount:{type:"integer",description:"Total number of organization memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}}},additionalProperties:false},location:{description:"Optional structured location metadata (branch, host, path, ...).",type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},patternFile:{type:"string",description:"Raw design body as it is persisted in the meshery_patterns table's `pattern_file` column. The wire form is the YAML/JSON string the server stores verbatim; consumers that need the structured form transcode at the boundary by parsing the string into a PatternFile (see #/components/schemas/PatternFile) and marshalling it back when they write. Keeping the wire shape as a string mirrors the column's actual representation and avoids forcing every consumer through the structured-vs- string union that the previous *PatternFile typing implied.\n",maxLength:16777216,"x-oapi-codegen-extra-tags":{db:"pattern_file"}},visibility:{type:"string",description:"Visibility scope of the design \u2014 controls whether non-owners may read or list it. `private` is owner-only, `public` is readable by anyone in the org, and `published` is visible in the catalog.\n",enum:["private","public","published"],"x-enum-casing-exempt":true,maxLength:32,"x-oapi-codegen-extra-tags":{db:"visibility"}},designType:{type:"string",description:"Discriminator identifying the source format of the design body, persisted in the meshery_patterns table's `source_type` column (nullable; null for legacy rows imported before the column was introduced). For catalog listings the server may also project this field from the attached catalog metadata. Use this field to branch rendering between native Meshery designs and imported Helm charts, Kubernetes manifests, and Docker Compose files.\n","x-enum-casing-exempt":true,nullable:true,enum:["Design","Helm Chart","Docker Compose","Kubernetes Manifest"],maxLength:64,"x-oapi-codegen-extra-tags":{db:"source_type"}},sourceContent:{type:"string",format:"byte",nullable:true,description:"Raw bytes of the imported source artifact (Helm chart tarball, Kubernetes manifest, Docker Compose file, etc.) preserved in the meshery_patterns table's `source_content` column for non-Meshery-Design imports. Empty / null for native Meshery designs. Server-managed: populated by the import and upload handlers and scrubbed to null on most read responses, so clients should treat this as opaque base64-encoded bytes when it does appear on the wire.\n","x-oapi-codegen-extra-tags":{db:"source_content",json:"sourceContent,omitempty"}},viewCount:{type:"integer",description:`Server-aggregated count of views on this design in the catalog. Present on list/catalog responses; server-managed and ignored on writes.
32
37
  `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"view_count",json:"viewCount,omitempty"}},downloadCount:{type:"integer",description:`Server-aggregated count of downloads of this design from the catalog. Server-managed and ignored on writes.
33
38
  `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"download_count",json:"downloadCount,omitempty"}},cloneCount:{type:"integer",description:`Server-aggregated count of times this design has been cloned from the catalog. Server-managed and ignored on writes.
34
39
  `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"clone_count",json:"cloneCount,omitempty"}},deploymentCount:{type:"integer",description:`Server-aggregated count of deployments originated from this design. Server-managed and ignored on writes.
@@ -81,37 +86,41 @@ add: Inserts a value into an array or adds a member to an object.
81
86
  merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
82
87
  strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
83
88
  remove: Removes a value.
89
+ replace: Replaces the value at the target location.
84
90
  copy: Copies a value from one location to another.
85
91
  move: Moves a value from one location to another.
86
92
  test: Tests that a value at the target location is equal to a specified value.
87
- `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{json:"from"}},to:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"refs,omitempty"},description:"The refs of the matchselector."},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"from,omitempty"},description:"The from of the matchselector."},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"to,omitempty"},description:"The to of the matchselector."}}},matchStrategyMatrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"matchStrategyMatrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{json:"model,omitempty"},"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).
93
+ `,enum:["merge","strategic","add","remove","replace","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{json:"from"}},to:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"refs,omitempty"},description:"The refs of the matchselector."},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"from,omitempty"},description:"The from of the matchselector."},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"to,omitempty"},description:"The to of the matchselector."}}},matchStrategyMatrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"matchStrategyMatrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{json:"model,omitempty"},"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).
88
94
 
89
95
  add: Inserts a value into an array or adds a member to an object.
90
96
  merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
91
97
  strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
92
98
  remove: Removes a value.
99
+ replace: Replaces the value at the target location.
93
100
  copy: Copies a value from one location to another.
94
101
  move: Moves a value from one location to another.
95
102
  test: Tests that a value at the target location is equal to a specified value.
96
- `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{json:"to"}}}},deny:{description:"Optional selectors used to define relationships which should not be created / is restricted.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{json:"deny,omitempty"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"refs,omitempty"},description:"The refs of the matchselector."},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"from,omitempty"},description:"The from of the matchselector."},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"to,omitempty"},description:"The to of the matchselector."}}},matchStrategyMatrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"matchStrategyMatrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{json:"model,omitempty"},"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).
103
+ `,enum:["merge","strategic","add","remove","replace","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{json:"to"}}}},deny:{description:"Optional selectors used to define relationships which should not be created / is restricted.","x-go-type":"Selector","x-oapi-codegen-extra-tags":{json:"deny,omitempty"},type:"object",required:["from","to"],properties:{from:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"refs,omitempty"},description:"The refs of the matchselector."},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"from,omitempty"},description:"The from of the matchselector."},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"to,omitempty"},description:"The to of the matchselector."}}},matchStrategyMatrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"matchStrategyMatrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{json:"model,omitempty"},"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).
97
104
 
98
105
  add: Inserts a value into an array or adds a member to an object.
99
106
  merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
100
107
  strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
101
108
  remove: Removes a value.
109
+ replace: Replaces the value at the target location.
102
110
  copy: Copies a value from one location to another.
103
111
  move: Moves a value from one location to another.
104
112
  test: Tests that a value at the target location is equal to a specified value.
105
- `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{json:"from"}},to:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"refs,omitempty"},description:"The refs of the matchselector."},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"from,omitempty"},description:"The from of the matchselector."},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"to,omitempty"},description:"The to of the matchselector."}}},matchStrategyMatrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"matchStrategyMatrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{json:"model,omitempty"},"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).
113
+ `,enum:["merge","strategic","add","remove","replace","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{json:"from"}},to:{description:"Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.",type:"array",items:{"x-go-type":"SelectorItem",type:"object",description:"Optional fields that are a part of the selector. Absence of a field has an implied * meaning.",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},match:{"x-go-type":"MatchSelector","x-oapi-codegen-extra-tags":{json:"match,omitempty"},type:"object",description:"Match configuration for selector",properties:{refs:{type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"refs,omitempty"},description:"The refs of the matchselector."},from:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"from,omitempty"},description:"The from of the matchselector."},to:{type:"array",items:{"x-go-type":"MatchSelectorItem",type:"object",description:"Match selector item for binding between nodes",required:["kind"],properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{json:"id"}},kind:{type:"string","x-oapi-codegen-extra-tags":{json:"kind"},description:"Kind of the resource.",maxLength:255},mutatorRef:{"x-oapi-codegen-extra-tags":{json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}},"x-oapi-codegen-extra-tags":{json:"to,omitempty"},description:"The to of the matchselector."}}},matchStrategyMatrix:{description:"Match strategy matrix for the selector",type:"array",items:{type:"array",items:{type:"string"}},"x-oapi-codegen-extra-tags":{json:"matchStrategyMatrix"}},model:{"x-go-type":"modelv1beta1.ModelReference","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},description:"Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{json:"model,omitempty"},"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).
106
114
 
107
115
  add: Inserts a value into an array or adds a member to an object.
108
116
  merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
109
117
  strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
110
118
  remove: Removes a value.
119
+ replace: Replaces the value at the target location.
111
120
  copy: Copies a value from one location to another.
112
121
  move: Moves a value from one location to another.
113
122
  test: Tests that a value at the target location is equal to a specified value.
114
- `,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"]},MesheryPattern:{type:"object",description:"Server-returned design (pattern) resource as persisted by meshery-cloud.",properties:{id:{description:"Server-generated design 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:{description:"Human-readable design name.",type:"string","x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the design when published.","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"]},userId:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner"},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},user:{description:'Owning user record, joined inline by the catalog list/get handlers when shaping responses. Server-projected from the users table via the design\'s userId; not a column on the meshery_patterns table itself, so the generated Go field is tagged `db:"-"` to keep it out of ORM column scans.\n',nullable:true,"x-go-type":"*userV1beta.User","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/user",name:"userV1beta"},"x-oapi-codegen-extra-tags":{db:"-"},type:"object",required:["id","userId","provider","email","firstName","lastName","status","createdAt","updatedAt","lastLoginTime","deletedAt"],properties:{id:{description:"Unique identifier for the user","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},userId:{type:"string",maxLength:200,deprecated:true,description:"Legacy IdP-derived identifier. Removed in v1beta3; resolve users by id or email.","x-oapi-codegen-extra-tags":{db:"user_id",json:"userId"},"x-id-format":"external"},provider:{type:"string",maxLength:100,description:"Authentication provider (e.g., Google, Github)",example:["local","github","google","twitter"],"x-oapi-codegen-extra-tags":{db:"provider",json:"provider"}},email:{type:"string",format:"email",maxLength:300,description:"User's email address","x-oapi-codegen-extra-tags":{db:"email",json:"email"}},firstName:{type:"string",maxLength:200,description:"User's first name","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName"}},lastName:{type:"string",maxLength:300,description:"User's last name","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName"}},avatarUrl:{type:"string",format:"uri",maxLength:500,description:"URL to user's avatar image","x-oapi-codegen-extra-tags":{db:"avatar_url",json:"avatarUrl"}},status:{type:"string",maxLength:100,enum:["active","inactive","pending","anonymous"],description:"User account status","x-oapi-codegen-extra-tags":{db:"status",json:"status"}},bio:{type:"string",maxLength:1e3,default:"",description:"User's biography or description","x-oapi-codegen-extra-tags":{db:"bio",json:"bio"}},country:{type:"object",description:"User's country information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"country",json:"country"}},region:{type:"object",description:"User's region information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"region",json:"region"}},preferences:{"x-go-type":"Preference",description:"User preferences stored as JSONB","x-oapi-codegen-extra-tags":{db:"preferences",json:"preferences"},"x-generate-db-helpers":true,type:"object",required:["anonymousUsageStats","anonymousPerfResults","updatedAt","dashboardPreferences","selectedOrganizationId","selectedWorkspaceForOrganizations","usersExtensionPreferences","remoteProviderPreferences"],properties:{meshAdapters:{type:"array",items:{"x-go-type":"Adapter",type:"object",description:"Placeholder for Adapter struct definition."},description:"The mesh adapters of the preference."},grafana:{"x-go-type":"Grafana",type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},prometheus:{"x-go-type":"Prometheus",type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},loadTestPrefs:{"x-go-type":"LoadTestPreferences",type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},anonymousUsageStats:{type:"boolean",description:"The anonymous usage stats of the preference."},anonymousPerfResults:{type:"boolean",description:"The anonymous perf results of the preference."},updatedAt:{type:"string",format:"date-time",description:"Timestamp of when the resource was last updated."},dashboardPreferences:{type:"object",additionalProperties:true,description:"The dashboard preferences of the preference."},selectedOrganizationId:{type:"string",description:"ID of the associated selectedOrganization.",maxLength:500,format:"uuid"},selectedWorkspaceForOrganizations:{type:"object",additionalProperties:{type:"string"},description:"The selected workspace for organizations of the preference."},usersExtensionPreferences:{type:"object",additionalProperties:true,description:"The users extension preferences of the preference."},remoteProviderPreferences:{type:"object",additionalProperties:true,description:"The remote provider preferences of the preference."}}},acceptedTermsAt:{description:"Timestamp when user accepted terms and conditions","x-oapi-codegen-extra-tags":{db:"accepted_terms_at",json:"acceptedTermsAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},firstLoginTime:{description:"Timestamp of user's first login","x-oapi-codegen-extra-tags":{db:"first_login_time",json:"firstLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},lastLoginTime:{description:"Timestamp of user's most recent login","x-oapi-codegen-extra-tags":{db:"last_login_time",json:"lastLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},createdAt:{description:"Timestamp when the user record was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the user record was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},socials:{type:"array",description:"Various online profiles associated with the user account","x-go-type":"UserSocials",items:{"x-go-type":"Social",description:"Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.",type:"object",properties:{site:{type:"string",maxLength:50,description:"The site of the social."},link:{type:"string",format:"uri",description:"The link of the social."}},required:["site","link"]},"x-oapi-codegen-extra-tags":{db:"socials",json:"socials"}},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the user record was soft-deleted (null if not deleted)","x-go-type":"core.NullTime","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},description:'Names of the global roles assigned to the user. Free-form, user-generated values sourced from the roles table (role_name is a varchar, not a fixed enumeration); the seeded system roles such as "admin", "organization admin" and "user" are a subset, not the whole set.',example:["organization admin","user"],"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}},teams:{type:"object",description:"Teams the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"teams",json:"teams"},properties:{teamsWithRoles:{type:"array",description:"Team memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"A team the user is a member of, together with the names of the roles assigned to that user within the team. Returned as an item of User.teams.teamsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the team.","x-go-name":"ID","x-order":1,"x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the team.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the team.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},owner:{description:"Identifier of the team owner.","x-order":4,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{type:"object",additionalProperties:true,description:"Free-form metadata associated with the team.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-order":5,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},createdAt:{description:"Timestamp when the team was created.","x-order":6,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the team was last updated.","x-order":7,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the team was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":8,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this team. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":9,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"teams_with_roles",json:"teamsWithRoles"}},totalCount:{type:"integer",description:"Total number of team memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}},organizations:{type:"object",description:"Organizations the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"organizations",json:"organizations"},properties:{organizationsWithRoles:{type:"array",description:"Organization memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"An organization the user is a member of, together with the names of the roles assigned to that user within the organization. Returned as an item of User.organizations.organizationsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the organization.","x-go-name":"ID","x-order":1,"x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the organization.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the organization.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},country:{type:"string",description:"Country associated with the organization.","x-order":4,"x-oapi-codegen-extra-tags":{db:"country",json:"country,omitempty"}},region:{type:"string",description:"Region associated with the organization.","x-order":5,"x-oapi-codegen-extra-tags":{db:"region",json:"region,omitempty"}},owner:{description:"Identifier of the organization owner.","x-order":6,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the organization was created.","x-order":7,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the organization was last updated.","x-order":8,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the organization was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":9,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this organization. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":10,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"organizations_with_roles",json:"organizationsWithRoles"}},totalCount:{type:"integer",description:"Total number of organization memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}}},additionalProperties:false},location:{description:"Optional structured location metadata (branch, host, path, ...).",type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},patternFile:{type:"string",description:"Raw design body as it is persisted in the meshery_patterns table's `pattern_file` column. The wire form is the YAML/JSON string the server stores verbatim; consumers that need the structured form transcode at the boundary by parsing the string into a PatternFile (see #/components/schemas/PatternFile) and marshalling it back when they write. Keeping the wire shape as a string mirrors the column's actual representation and avoids forcing every consumer through the structured-vs- string union that the previous *PatternFile typing implied.\n",maxLength:16777216,"x-oapi-codegen-extra-tags":{db:"pattern_file"}},visibility:{type:"string",description:"Visibility scope of the design \u2014 controls whether non-owners may read or list it. `private` is owner-only, `public` is readable by anyone in the org, and `published` is visible in the catalog.\n",enum:["private","public","published"],"x-enum-casing-exempt":true,maxLength:32,"x-oapi-codegen-extra-tags":{db:"visibility"}},designType:{type:"string",description:"Discriminator identifying the source format of the design body, persisted in the meshery_patterns table's `source_type` column (nullable; null for legacy rows imported before the column was introduced). For catalog listings the server may also project this field from the attached catalog metadata. Use this field to branch rendering between native Meshery designs and imported Helm charts, Kubernetes manifests, and Docker Compose files.\n","x-enum-casing-exempt":true,nullable:true,enum:["Design","Helm Chart","Docker Compose","Kubernetes Manifest"],maxLength:64,"x-oapi-codegen-extra-tags":{db:"source_type"}},sourceContent:{type:"string",format:"byte",nullable:true,description:"Raw bytes of the imported source artifact (Helm chart tarball, Kubernetes manifest, Docker Compose file, etc.) preserved in the meshery_patterns table's `source_content` column for non-Meshery-Design imports. Empty / null for native Meshery designs. Server-managed: populated by the import and upload handlers and scrubbed to null on most read responses, so clients should treat this as opaque base64-encoded bytes when it does appear on the wire.\n","x-oapi-codegen-extra-tags":{db:"source_content",json:"sourceContent,omitempty"}},viewCount:{type:"integer",description:`Server-aggregated count of views on this design in the catalog. Present on list/catalog responses; server-managed and ignored on writes.
123
+ `,enum:["merge","strategic","add","remove","replace","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"]},MesheryPattern:{type:"object",description:"Server-returned design (pattern) resource as persisted by meshery-cloud.",properties:{id:{description:"Server-generated design 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:{description:"Human-readable design name.",type:"string","x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the design when published.","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"]},userId:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner"},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},user:{description:'Owning user record, joined inline by the catalog list/get handlers when shaping responses. Server-projected from the users table via the design\'s userId; not a column on the meshery_patterns table itself, so the generated Go field is tagged `db:"-"` to keep it out of ORM column scans.\n',nullable:true,"x-go-type":"*userV1beta.User","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/user",name:"userV1beta"},"x-oapi-codegen-extra-tags":{db:"-"},type:"object",required:["id","userId","provider","email","firstName","lastName","status","createdAt","updatedAt","lastLoginTime","deletedAt"],properties:{id:{description:"Unique identifier for the user","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},userId:{type:"string",maxLength:200,deprecated:true,description:"Legacy IdP-derived identifier. Removed in v1beta3; resolve users by id or email.","x-oapi-codegen-extra-tags":{db:"user_id",json:"userId"},"x-id-format":"external"},provider:{type:"string",maxLength:100,description:"Authentication provider (e.g., Google, Github)",example:["local","github","google","twitter"],"x-oapi-codegen-extra-tags":{db:"provider",json:"provider"}},email:{type:"string",format:"email",maxLength:300,description:"User's email address","x-oapi-codegen-extra-tags":{db:"email",json:"email"}},firstName:{type:"string",maxLength:200,description:"User's first name","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName"}},lastName:{type:"string",maxLength:300,description:"User's last name","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName"}},avatarUrl:{type:"string",format:"uri",maxLength:500,description:"URL to user's avatar image","x-oapi-codegen-extra-tags":{db:"avatar_url",json:"avatarUrl"}},status:{type:"string",maxLength:100,enum:["active","inactive","pending","anonymous"],description:"User account status","x-oapi-codegen-extra-tags":{db:"status",json:"status"}},bio:{type:"string",maxLength:1e3,default:"",description:"User's biography or description","x-oapi-codegen-extra-tags":{db:"bio",json:"bio"}},country:{type:"object",description:"User's country information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"country",json:"country"}},region:{type:"object",description:"User's region information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"region",json:"region"}},preferences:{"x-go-type":"Preference",description:"User preferences stored as JSONB","x-oapi-codegen-extra-tags":{db:"preferences",json:"preferences"},"x-generate-db-helpers":true,type:"object",required:["anonymousUsageStats","anonymousPerfResults","updatedAt","dashboardPreferences","selectedOrganizationId","selectedWorkspaceForOrganizations","usersExtensionPreferences","remoteProviderPreferences"],properties:{meshAdapters:{type:"array",items:{"x-go-type":"Adapter",type:"object",description:"Placeholder for Adapter struct definition."},description:"The mesh adapters of the preference."},grafana:{"x-go-type":"Grafana",type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},prometheus:{"x-go-type":"Prometheus",type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},loadTestPrefs:{"x-go-type":"LoadTestPreferences",type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},anonymousUsageStats:{type:"boolean",description:"The anonymous usage stats of the preference."},anonymousPerfResults:{type:"boolean",description:"The anonymous perf results of the preference."},updatedAt:{type:"string",format:"date-time",description:"Timestamp of when the resource was last updated."},dashboardPreferences:{type:"object",additionalProperties:true,description:"The dashboard preferences of the preference."},selectedOrganizationId:{type:"string",description:"ID of the associated selectedOrganization.",maxLength:500,format:"uuid"},selectedWorkspaceForOrganizations:{type:"object",additionalProperties:{type:"string"},description:"The selected workspace for organizations of the preference."},usersExtensionPreferences:{type:"object",additionalProperties:true,description:"The users extension preferences of the preference."},remoteProviderPreferences:{type:"object",additionalProperties:true,description:"The remote provider preferences of the preference."}}},acceptedTermsAt:{description:"Timestamp when user accepted terms and conditions","x-oapi-codegen-extra-tags":{db:"accepted_terms_at",json:"acceptedTermsAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},firstLoginTime:{description:"Timestamp of user's first login","x-oapi-codegen-extra-tags":{db:"first_login_time",json:"firstLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},lastLoginTime:{description:"Timestamp of user's most recent login","x-oapi-codegen-extra-tags":{db:"last_login_time",json:"lastLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},createdAt:{description:"Timestamp when the user record was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the user record was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},socials:{type:"array",description:"Various online profiles associated with the user account","x-go-type":"UserSocials",items:{"x-go-type":"Social",description:"Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.",type:"object",properties:{site:{type:"string",maxLength:50,description:"The site of the social."},link:{type:"string",format:"uri",description:"The link of the social."}},required:["site","link"]},"x-oapi-codegen-extra-tags":{db:"socials",json:"socials"}},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the user record was soft-deleted (null if not deleted)","x-go-type":"core.NullTime","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},description:'Names of the global roles assigned to the user. Free-form, user-generated values sourced from the roles table (role_name is a varchar, not a fixed enumeration); the seeded system roles such as "admin", "organization admin" and "user" are a subset, not the whole set.',example:["organization admin","user"],"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}},teams:{type:"object",description:"Teams the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"teams",json:"teams"},properties:{teamsWithRoles:{type:"array",description:"Team memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"A team the user is a member of, together with the names of the roles assigned to that user within the team. Returned as an item of User.teams.teamsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the team.","x-go-name":"ID","x-order":1,"x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the team.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the team.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},owner:{description:"Identifier of the team owner.","x-order":4,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{type:"object",additionalProperties:true,description:"Free-form metadata associated with the team.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-order":5,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},createdAt:{description:"Timestamp when the team was created.","x-order":6,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the team was last updated.","x-order":7,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the team was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":8,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this team. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":9,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"teams_with_roles",json:"teamsWithRoles"}},totalCount:{type:"integer",description:"Total number of team memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}},organizations:{type:"object",description:"Organizations the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"organizations",json:"organizations"},properties:{organizationsWithRoles:{type:"array",description:"Organization memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"An organization the user is a member of, together with the names of the roles assigned to that user within the organization. Returned as an item of User.organizations.organizationsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the organization.","x-go-name":"ID","x-order":1,"x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the organization.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the organization.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},country:{type:"string",description:"Country associated with the organization.","x-order":4,"x-oapi-codegen-extra-tags":{db:"country",json:"country,omitempty"}},region:{type:"string",description:"Region associated with the organization.","x-order":5,"x-oapi-codegen-extra-tags":{db:"region",json:"region,omitempty"}},owner:{description:"Identifier of the organization owner.","x-order":6,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the organization was created.","x-order":7,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the organization was last updated.","x-order":8,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the organization was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":9,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this organization. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":10,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"organizations_with_roles",json:"organizationsWithRoles"}},totalCount:{type:"integer",description:"Total number of organization memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}}},additionalProperties:false},location:{description:"Optional structured location metadata (branch, host, path, ...).",type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},patternFile:{type:"string",description:"Raw design body as it is persisted in the meshery_patterns table's `pattern_file` column. The wire form is the YAML/JSON string the server stores verbatim; consumers that need the structured form transcode at the boundary by parsing the string into a PatternFile (see #/components/schemas/PatternFile) and marshalling it back when they write. Keeping the wire shape as a string mirrors the column's actual representation and avoids forcing every consumer through the structured-vs- string union that the previous *PatternFile typing implied.\n",maxLength:16777216,"x-oapi-codegen-extra-tags":{db:"pattern_file"}},visibility:{type:"string",description:"Visibility scope of the design \u2014 controls whether non-owners may read or list it. `private` is owner-only, `public` is readable by anyone in the org, and `published` is visible in the catalog.\n",enum:["private","public","published"],"x-enum-casing-exempt":true,maxLength:32,"x-oapi-codegen-extra-tags":{db:"visibility"}},designType:{type:"string",description:"Discriminator identifying the source format of the design body, persisted in the meshery_patterns table's `source_type` column (nullable; null for legacy rows imported before the column was introduced). For catalog listings the server may also project this field from the attached catalog metadata. Use this field to branch rendering between native Meshery designs and imported Helm charts, Kubernetes manifests, and Docker Compose files.\n","x-enum-casing-exempt":true,nullable:true,enum:["Design","Helm Chart","Docker Compose","Kubernetes Manifest"],maxLength:64,"x-oapi-codegen-extra-tags":{db:"source_type"}},sourceContent:{type:"string",format:"byte",nullable:true,description:"Raw bytes of the imported source artifact (Helm chart tarball, Kubernetes manifest, Docker Compose file, etc.) preserved in the meshery_patterns table's `source_content` column for non-Meshery-Design imports. Empty / null for native Meshery designs. Server-managed: populated by the import and upload handlers and scrubbed to null on most read responses, so clients should treat this as opaque base64-encoded bytes when it does appear on the wire.\n","x-oapi-codegen-extra-tags":{db:"source_content",json:"sourceContent,omitempty"}},viewCount:{type:"integer",description:`Server-aggregated count of views on this design in the catalog. Present on list/catalog responses; server-managed and ignored on writes.
115
124
  `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"view_count",json:"viewCount,omitempty"}},downloadCount:{type:"integer",description:`Server-aggregated count of downloads of this design from the catalog. Server-managed and ignored on writes.
116
125
  `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"download_count",json:"downloadCount,omitempty"}},cloneCount:{type:"integer",description:`Server-aggregated count of times this design has been cloned from the catalog. Server-managed and ignored on writes.
117
126
  `,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"clone_count",json:"cloneCount,omitempty"}},deploymentCount:{type:"integer",description:`Server-aggregated count of deployments originated from this design. Server-managed and ignored on writes.