@meshery/schemas 1.3.26 → 1.3.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cloudApi.d.mts +27241 -10449
- package/dist/cloudApi.d.ts +27241 -10449
- package/dist/cloudApi.js +1 -1
- package/dist/cloudApi.mjs +1 -1
- package/dist/constructs/v1beta2/key/Key.d.ts +1 -1
- package/dist/constructs/v1beta2/key/KeySchema.js +1 -1
- package/dist/constructs/v1beta2/key/KeySchema.mjs +1 -1
- package/dist/constructs/v1beta3/academy/Academy.d.ts +27 -27
- package/dist/constructs/v1beta3/academy/AcademySchema.js +1 -1
- package/dist/constructs/v1beta3/academy/AcademySchema.mjs +1 -1
- package/dist/constructs/v1beta3/design/Design.d.ts +4 -1
- package/dist/constructs/v1beta3/design/DesignSchema.js +1 -1
- package/dist/constructs/v1beta3/design/DesignSchema.mjs +1 -1
- package/dist/constructs/v1beta3/invitation/Invitation.d.ts +133 -65
- package/dist/constructs/v1beta3/invitation/InvitationSchema.js +2 -2
- package/dist/constructs/v1beta3/invitation/InvitationSchema.mjs +2 -2
- package/dist/constructs/v1beta3/token/Token.d.ts +2 -2
- package/dist/constructs/v1beta3/token/TokenSchema.js +1 -1
- package/dist/constructs/v1beta3/token/TokenSchema.mjs +1 -1
- package/dist/mesheryApi.d.mts +12077 -4717
- package/dist/mesheryApi.d.ts +12077 -4717
- package/dist/mesheryApi.js +1 -1
- package/dist/mesheryApi.mjs +1 -1
- package/package.json +1 -1
|
@@ -4970,7 +4970,10 @@ export interface operations {
|
|
|
4970
4970
|
};
|
|
4971
4971
|
getPattern: {
|
|
4972
4972
|
parameters: {
|
|
4973
|
-
query?:
|
|
4973
|
+
query?: {
|
|
4974
|
+
/** @description Whether to include usage metrics in the response. */
|
|
4975
|
+
metrics?: boolean;
|
|
4976
|
+
};
|
|
4974
4977
|
header?: never;
|
|
4975
4978
|
path: {
|
|
4976
4979
|
/** @description Design (Pattern) ID */
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
`,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.
|
|
9
9
|
`,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.
|
|
10
10
|
`,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.
|
|
11
|
-
`,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 body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/delete":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Bulk delete designs",operationId:"deletePatterns",description:"Deletes multiple designs by ID.",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for bulk deleting designs by ID.",properties:{patterns:{type:"array",items:{"x-go-type":"DeletePatternModel",type:"object",description:"Reference to a design for bulk deletion by ID.",properties:{id:{description:"Design ID targeted for deletion.",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 (informational only; server matches on id).",type:"string","x-go-type-skip-optional-pointer":true}}},description:"Designs targeted for deletion."}}}}}},responses:{200:{description:"Designs deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/{designId}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get design by ID",operationId:"getPattern",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"}}}],responses:{200:{description:"Design response",content:{"application/json":{schema:{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.
|
|
11
|
+
`,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 body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/delete":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Bulk delete designs",operationId:"deletePatterns",description:"Deletes multiple designs by ID.",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for bulk deleting designs by ID.",properties:{patterns:{type:"array",items:{"x-go-type":"DeletePatternModel",type:"object",description:"Reference to a design for bulk deletion by ID.",properties:{id:{description:"Design ID targeted for deletion.",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 (informational only; server matches on id).",type:"string","x-go-type-skip-optional-pointer":true}}},description:"Designs targeted for deletion."}}}}}},responses:{200:{description:"Designs deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/{designId}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get design by ID",operationId:"getPattern",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"}}},{name:"metrics",in:"query",required:false,description:"Whether to include usage metrics in the response.",schema:{type:"boolean"}}],responses:{200:{description:"Design response",content:{"application/json":{schema:{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.
|
|
12
12
|
`,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.
|
|
13
13
|
`,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.
|
|
14
14
|
`,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.
|
|
@@ -8,7 +8,7 @@ var e={openapi:"3.0.0",info:{title:"Design",description:"OpenAPI schema for mana
|
|
|
8
8
|
`,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.
|
|
9
9
|
`,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.
|
|
10
10
|
`,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.
|
|
11
|
-
`,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 body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/delete":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Bulk delete designs",operationId:"deletePatterns",description:"Deletes multiple designs by ID.",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for bulk deleting designs by ID.",properties:{patterns:{type:"array",items:{"x-go-type":"DeletePatternModel",type:"object",description:"Reference to a design for bulk deletion by ID.",properties:{id:{description:"Design ID targeted for deletion.",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 (informational only; server matches on id).",type:"string","x-go-type-skip-optional-pointer":true}}},description:"Designs targeted for deletion."}}}}}},responses:{200:{description:"Designs deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/{designId}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get design by ID",operationId:"getPattern",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"}}}],responses:{200:{description:"Design response",content:{"application/json":{schema:{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.
|
|
11
|
+
`,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 body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/delete":{post:{"x-internal":["cloud"],tags:["designs"],summary:"Bulk delete designs",operationId:"deletePatterns",description:"Deletes multiple designs by ID.",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for bulk deleting designs by ID.",properties:{patterns:{type:"array",items:{"x-go-type":"DeletePatternModel",type:"object",description:"Reference to a design for bulk deletion by ID.",properties:{id:{description:"Design ID targeted for deletion.",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 (informational only; server matches on id).",type:"string","x-go-type-skip-optional-pointer":true}}},description:"Designs targeted for deletion."}}}}}},responses:{200:{description:"Designs deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/content/patterns/{designId}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get design by ID",operationId:"getPattern",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"}}},{name:"metrics",in:"query",required:false,description:"Whether to include usage metrics in the response.",schema:{type:"boolean"}}],responses:{200:{description:"Design response",content:{"application/json":{schema:{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.
|
|
12
12
|
`,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.
|
|
13
13
|
`,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.
|
|
14
14
|
`,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.
|