@meshery/schemas 1.3.52 → 1.3.53

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.
@@ -1,4 +1,4 @@
1
- var e={openapi:"3.0.0",info:{title:"Workspace",description:"OpenAPI schema for workspace management in Meshery Cloud.",version:"v1beta3",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},servers:[{url:"https://cloud.meshery.io",description:"Meshery Cloud production server URL"},{url:"https://staging-cloud.meshery.io",description:"Meshery Cloud staging server URL"},{url:"http://localhost:9876",description:"Meshery Cloud development server URL (controlled via PORT environment variable)"}],security:[{jwt:[]}],tags:[{name:"workspaces",description:"APIs for Meshery Cloud workspaces."},{name:"views",description:"APIs for Meshery Cloud views associated with workspaces."},{name:"designs",description:"APIs for Meshery Cloud designs associated with workspaces."}],paths:{"/api/workspaces":{get:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"getWorkspaces",summary:"Get all workspaces",description:"Gets all workspaces accessible to the current user, optionally scoped to a specific organization.",parameters:[{name:"orgId",in:"query",description:"Organization ID used to scope the workspace listing.",schema:{type:"string",format:"uuid",maxLength:36},required:false},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},{name:"filter",in:"query",description:"JSON-encoded filter string used for assignment and soft-delete filters.",schema:{type:"string",maxLength:4096}}],responses:{200:{description:"Workspaces",content:{"application/json":{schema:{type:"object",description:"Paginated list of workspaces.",properties:{page:{description:"Zero-based page index returned in this response.",minimum:0,type:"integer","x-go-type-skip-optional-pointer":true},pageSize:{description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},totalCount:{description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},workspaces:{type:"array",description:"List of workspaces with resolved owner details.","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"AvailableWorkspace",type:"object",description:"Workspace with resolved owner details, as returned in list and get responses.",additionalProperties:false,properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Name of the workspace.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},orgName:{type:"string",description:"Name of the owning organization.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"org_name",json:"orgName,omitempty"}},owner:{type:"string",description:"Display name of the workspace owner.",maxLength:255,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"}},ownerId:{description:"User ID of the workspace owner.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerEmail:{type:"string",description:"Email address of the workspace owner.",format:"email",maxLength:320,"x-oapi-codegen-extra-tags":{db:"owner_email",json:"ownerEmail,omitempty"}},ownerAvatar:{type:"string",description:"Avatar URL of the workspace owner.",format:"uri",maxLength:2048,"x-oapi-codegen-extra-tags":{db:"owner_avatar",json:"ownerAvatar,omitempty"}},metadata:{type:"object",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},organizationId:{description:"Organization to which this workspace belongs.","x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organizationId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the workspace was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the workspace was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the workspace was soft-deleted. Null while the workspace is active.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","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"}}}}}},post:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"createWorkspace",summary:"Create a workspace",description:"Creates a new workspace.",requestBody:{description:"Body for creating a workspace",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for creating a workspace.",required:["name","organizationId"],properties:{name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"description,omitempty"}},organizationId:{type:"string",description:"Organization ID.",maxLength:36,format:"uuid","x-go-type-skip-optional-pointer":true,"x-go-name":"OrganizationID","x-oapi-codegen-extra-tags":{json:"organizationId,omitempty"}},metadata:{type:"object",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"metadata,omitempty"}}}}}}},responses:{201:{description:"Created workspace",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/workspace.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A workspace is a logical grouping of resources within an organization. Workspaces provide a way to organize environments, designs, teams, and views. Learn more at https://docs.meshery.io/concepts/logical/workspaces",additionalProperties:false,type:"object",required:["id","name","organizationId","createdAt","updatedAt"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},organizationId:{description:"Organization to which this workspace belongs.","x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organizationId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"User ID of the workspace owner.","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",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata"}},createdAt:{description:"Timestamp when the workspace was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the workspace was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the workspace was soft-deleted. Null while the workspace is active.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","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/workspaces/{workspaceId}":{get:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"getWorkspaceById",summary:"Get a workspace by ID",description:"Gets a workspace by its ID.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"Workspace",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/workspace.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A workspace is a logical grouping of resources within an organization. Workspaces provide a way to organize environments, designs, teams, and views. Learn more at https://docs.meshery.io/concepts/logical/workspaces",additionalProperties:false,type:"object",required:["id","name","organizationId","createdAt","updatedAt"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},organizationId:{description:"Organization to which this workspace belongs.","x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organizationId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"User ID of the workspace owner.","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",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata"}},createdAt:{description:"Timestamp when the workspace was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the workspace was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the workspace was soft-deleted. Null while the workspace is active.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"updateWorkspace",summary:"Update a workspace",description:"Updates a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true}],requestBody:{description:"Body for updating a workspace",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for updating a workspace.",required:["organizationId"],properties:{name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"description,omitempty"}},organizationId:{type:"string",description:"Organization ID.",maxLength:36,format:"uuid","x-go-type-skip-optional-pointer":true,"x-go-name":"OrganizationID","x-oapi-codegen-extra-tags":{json:"organizationId,omitempty"}},metadata:{type:"object",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"metadata,omitempty"}}}}}}},responses:{200:{description:"Workspace",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/workspace.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A workspace is a logical grouping of resources within an organization. Workspaces provide a way to organize environments, designs, teams, and views. Learn more at https://docs.meshery.io/concepts/logical/workspaces",additionalProperties:false,type:"object",required:["id","name","organizationId","createdAt","updatedAt"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},organizationId:{description:"Organization to which this workspace belongs.","x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organizationId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"User ID of the workspace owner.","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",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata"}},createdAt:{description:"Timestamp when the workspace was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the workspace was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the workspace was soft-deleted. Null while the workspace is active.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"deleteWorkspace",summary:"Delete a workspace",description:"Deletes a workspace by its ID.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true}],responses:{204:{description:"Workspace deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/workspaces/{workspaceId}/teams":{get:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"getTeamsOfWorkspace",summary:"Get teams assigned to a workspace",description:"Gets teams assigned to or available for a workspace depending on the filter.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},{name:"filter",in:"query",description:"JSON-encoded filter string used for assignment and soft-delete filters.",schema:{type:"string",maxLength:4096}}],responses:{200:{description:"Teams",content:{"application/json":{schema:{type:"object",description:"Paginated list of teams",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},teams:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"Team",$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name",minLength:1,maxLength:255},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description",maxLength:5e3},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-order":8,description:"SQL null Timestamp to handle null values of time.","x-go-type":"meshcore.NullTime","x-go-type-import":{name:"meshcore",path:"github.com/meshery/schemas/models/core"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},description:"The teams of the teampage."}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/workspaces/{workspaceId}/teams/{teamId}":{post:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"assignTeamToWorkspace",summary:"Assign a team to a workspace",description:"Assigns a team to a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"Workspace team mappings",content:{"application/json":{schema:{type:"object",description:"Paginated list of workspace-team mappings.",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Zero-based page index returned in this response.",minimum:0},pageSize:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"}},totalCount:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"}},workspacesTeamsMapping:{type:"array",description:"Workspace-team mapping entries.","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"WorkspacesTeamsMapping",type:"object",description:"Junction record linking a workspace to a team.",additionalProperties:false,required:["id","workspaceId","teamId"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},workspaceId:{description:"Workspace ID for this mapping.","x-go-name":"WorkspaceID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspaceId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},teamId:{description:"Team ID for this mapping.","x-go-name":"TeamID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"team_id",json:"teamId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the mapping was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the mapping was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the mapping was soft-deleted.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","x-go-type-skip-optional-pointer":true}}}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"unassignTeamFromWorkspace",summary:"Unassign a team from a workspace",description:"Removes a team from a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true}],responses:{204:{description:"Workspace team mapping removed"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/workspaces/{workspaceId}/environments":{get:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"getEnvironmentsOfWorkspace",summary:"Get environments assigned to a workspace",description:"Gets environments assigned to or available for a workspace depending on the filter.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},{name:"filter",in:"query",description:"JSON-encoded filter string used for assignment and soft-delete filters.",schema:{type:"string",maxLength:4096}}],responses:{200:{description:"Environments",content:{"application/json":{schema:{type:"object",description:"Paginated list of environments.",properties:{page:{description:"Zero-based page index returned in this response.",minimum:0,type:"integer","x-go-type-skip-optional-pointer":true},pageSize:{description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize"},type:"integer","x-go-type-skip-optional-pointer":true},totalCount:{description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount"},type:"integer","x-go-type-skip-optional-pointer":true},environments:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"Environment",$id:"https://schemas.meshery.io/environment.yaml",$schema:"http://json-schema.org/draft-07/schema#",title:"Environment",description:"Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments",additionalProperties:false,type:"object",example:{id:"00000000-0000-0000-0000-000000000000",schemaVersion:"environments.meshery.io/v1beta3",name:"Production Environment",description:"Connections and credentials for the production cluster.",organizationId:"00000000-0000-0000-0000-000000000000",owner:"00000000-0000-0000-0000-000000000000",createdAt:"0001-01-01T00:00:00Z",metadata:{},updatedAt:"0001-01-01T00:00:00Z",deletedAt:null},required:["id","schemaVersion","name","description","organizationId"],properties:{id:{description:"ID","x-order":1,"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"}},schemaVersion:{description:"Specifies the version of the schema to which the environment conforms.","x-order":2,"x-oapi-codegen-extra-tags":{json:"schemaVersion",db:"-",gorm:"-"},default:"environments.meshery.io/v1beta3",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},name:{"x-oapi-codegen-extra-tags":{db:"name",json:"name"},"x-order":3,type:"string",maxLength:100,description:"Environment name"},description:{"x-oapi-codegen-extra-tags":{db:"description",json:"description"},"x-order":4,type:"string",maxLength:1e3,description:"Environment description"},organizationId:{"x-go-name":"OrganizationID","x-oapi-codegen-extra-tags":{db:"organization_id",json:"organizationId"},"x-order":5,description:"Environment organization ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{"x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},"x-order":6,description:"Environment owner",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the environment was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt"},"x-order":7,"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},metadata:{description:"Additional metadata associated with the environment.","x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata"},"x-order":8,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object"},updatedAt:{description:"Timestamp when the environment was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt"},"x-order":9,"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the environment was soft deleted. Null while the environment remains active.",nullable:true,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":10,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},description:"Environments associated with this resource."}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/workspaces/{workspaceId}/environments/{environmentId}":{post:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"assignEnvironmentToWorkspace",summary:"Assign an environment to a workspace",description:"Assigns an environment to a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"environmentId",in:"path",description:"Environment ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"environment_id",json:"environment_id"},"x-go-type-name":"EnvironmentId","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"Workspace environment mappings",content:{"application/json":{schema:{type:"object",description:"Paginated list of workspace-environment mappings.",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Zero-based page index returned in this response.",minimum:0},pageSize:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"}},totalCount:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"}},workspacesEnvironmentsMapping:{type:"array",description:"Workspace-environment mapping entries.","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"WorkspacesEnvironmentsMapping",type:"object",description:"Junction record linking a workspace to an environment.",additionalProperties:false,required:["id","workspaceId","environmentId"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},workspaceId:{description:"Workspace ID for this mapping.","x-go-name":"WorkspaceID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspaceId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},environmentId:{description:"Environment ID for this mapping.","x-go-name":"EnvironmentID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"environment_id",json:"environmentId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the mapping was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the mapping was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the mapping was soft-deleted.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","x-go-type-skip-optional-pointer":true}}}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"unassignEnvironmentFromWorkspace",summary:"Unassign an environment from a workspace",description:"Removes an environment from a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"environmentId",in:"path",description:"Environment ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"environment_id",json:"environment_id"},"x-go-type-name":"EnvironmentId","x-go-type-skip-optional-pointer":true},required:true}],responses:{204:{description:"Workspace environment mapping removed"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/workspaces/{workspaceId}/designs":{get:{"x-internal":["cloud","meshery"],tags:["workspaces","designs"],operationId:"getDesignsOfWorkspace",summary:"Get designs assigned to a workspace",description:"Gets designs assigned to or available for a workspace depending on the filter.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},{name:"filter",in:"query",description:"JSON-encoded filter string used for assignment and soft-delete filters.",schema:{type:"string",maxLength:4096}}],responses:{200:{description:"Designs",content:{"application/json":{schema:{type:"object",description:"Paginated list of designs.",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Zero-based page index returned in this response.",minimum:0},pageSize:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"}},totalCount:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"}},designs:{type:"array",description:"Designs in this page.","x-go-type-skip-optional-pointer":true,items:{type:"object",properties:{catalogData:{"x-go-type":"catalogv1beta1.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/catalog",name:"catalogv1beta1"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string"},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}]},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},pattern_caveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design."},pattern_info:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type",enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","pattern_caveats","pattern_info","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{default:"v0.0.1","x-order":4,description:"Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number.",minLength:1,maxLength:50,type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},metadata:{type:"object","x-order":5,additionalProperties:true,properties:{resolvedAliases:{description:"Map of resolved aliases present in the design",type:"object","x-go-type":"map[string]core.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationship_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},alias_component_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_ref_field_path:{type:"array",items:{type:"string"}}},required:["relationship_id","alias_component_id","immediate_parent_id","immediate_ref_field_path"]},{type:"object",properties:{resolved_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolved_ref_field_path:{type:"array",items:{type:"string"}}},required:["resolved_parent_id","resolved_ref_field_path"]}]}}}},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readible format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the model definition.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",helperText:"Model name should be in lowercase with hyphens, not whitespaces.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"name",json:"name"},default:"untitled-model"},displayName:{description:"Human-readable name for the model.",helperText:"Model display name may include letters, numbers, and spaces. Special characters are not allowed.",minLength:1,maxLength:100,type:"string",pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"],"x-order":5,"x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},default:"Untitled Model"},description:{type:"string",default:"A new Meshery model.",description:"Description of the model.",minLength:1,maxLength:1e3,"x-order":6,"x-oapi-codegen-extra-tags":{yaml:"description,omitempty",json:"description,omitempty"}},status:{type:"string",description:`Status of model, including:
1
+ var e={openapi:"3.0.0",info:{title:"Workspace",description:"OpenAPI schema for workspace management in Meshery Cloud.",version:"v1beta3",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},servers:[{url:"https://cloud.meshery.io",description:"Meshery Cloud production server URL"},{url:"https://staging-cloud.meshery.io",description:"Meshery Cloud staging server URL"},{url:"http://localhost:9876",description:"Meshery Cloud development server URL (controlled via PORT environment variable)"}],security:[{jwt:[]}],tags:[{name:"workspaces",description:"APIs for Meshery Cloud workspaces."},{name:"views",description:"APIs for Meshery Cloud views associated with workspaces."},{name:"designs",description:"APIs for Meshery Cloud designs associated with workspaces."}],paths:{"/api/workspaces":{get:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"getWorkspaces",summary:"Get all workspaces",description:"Gets all workspaces accessible to the current user, optionally scoped to a specific organization.",parameters:[{name:"orgId",in:"query",description:"Organization ID used to scope the workspace listing.",schema:{type:"string",format:"uuid",maxLength:36},required:false},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},{name:"filter",in:"query",description:"JSON-encoded filter string used for assignment and soft-delete filters.",schema:{type:"string",maxLength:4096}}],responses:{200:{description:"Workspaces",content:{"application/json":{schema:{type:"object",description:"Paginated list of workspaces.",properties:{page:{description:"Zero-based page index returned in this response.",minimum:0,type:"integer","x-go-type-skip-optional-pointer":true},pageSize:{description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},totalCount:{description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},workspaces:{type:"array",description:"List of workspaces with resolved owner details.","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"AvailableWorkspace",type:"object",description:"Workspace with resolved owner details, as returned in list and get responses.",additionalProperties:false,properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Name of the workspace.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},orgName:{type:"string",description:"Name of the owning organization.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"org_name",json:"orgName,omitempty"}},owner:{type:"string",description:"Display name of the workspace owner.",maxLength:255,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"}},ownerId:{description:"User ID of the workspace owner.","x-go-name":"OwnerID","x-oapi-codegen-extra-tags":{db:"owner_id",json:"ownerId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},ownerEmail:{type:"string",description:"Email address of the workspace owner.",format:"email",maxLength:320,"x-oapi-codegen-extra-tags":{db:"owner_email",json:"ownerEmail,omitempty"}},ownerAvatar:{type:"string",description:"Avatar URL of the workspace owner.",format:"uri",maxLength:2048,"x-oapi-codegen-extra-tags":{db:"owner_avatar",json:"ownerAvatar,omitempty"}},metadata:{type:"object",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},organizationId:{description:"Organization to which this workspace belongs.","x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organizationId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the workspace was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the workspace was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the workspace was soft-deleted. Null while the workspace is active.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","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"}}}}}},post:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"createWorkspace",summary:"Create a workspace",description:"Creates a new workspace.",requestBody:{description:"Body for creating a workspace",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for creating a workspace.",required:["name","organizationId"],properties:{name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"description,omitempty"}},organizationId:{type:"string",description:"Organization ID.",maxLength:36,format:"uuid","x-go-type-skip-optional-pointer":true,"x-go-name":"OrganizationID","x-oapi-codegen-extra-tags":{json:"organizationId,omitempty"}},metadata:{type:"object",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"metadata,omitempty"}}}}}}},responses:{201:{description:"Created workspace",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/workspace.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A workspace is a logical grouping of resources within an organization. Workspaces provide a way to organize environments, designs, teams, and views. Learn more at https://docs.meshery.io/concepts/logical/workspaces",additionalProperties:false,type:"object",required:["id","name","organizationId","createdAt","updatedAt"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},organizationId:{description:"Organization to which this workspace belongs.","x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organizationId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"User ID of the workspace owner.","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",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata"}},createdAt:{description:"Timestamp when the workspace was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the workspace was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the workspace was soft-deleted. Null while the workspace is active.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","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/workspaces/{workspaceId}":{get:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"getWorkspaceById",summary:"Get a workspace by ID",description:"Gets a workspace by its ID.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"Workspace",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/workspace.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A workspace is a logical grouping of resources within an organization. Workspaces provide a way to organize environments, designs, teams, and views. Learn more at https://docs.meshery.io/concepts/logical/workspaces",additionalProperties:false,type:"object",required:["id","name","organizationId","createdAt","updatedAt"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},organizationId:{description:"Organization to which this workspace belongs.","x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organizationId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"User ID of the workspace owner.","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",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata"}},createdAt:{description:"Timestamp when the workspace was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the workspace was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the workspace was soft-deleted. Null while the workspace is active.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"updateWorkspace",summary:"Update a workspace",description:"Updates a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true}],requestBody:{description:"Body for updating a workspace",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for updating a workspace.",required:["organizationId"],properties:{name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"description,omitempty"}},organizationId:{type:"string",description:"Organization ID.",maxLength:36,format:"uuid","x-go-type-skip-optional-pointer":true,"x-go-name":"OrganizationID","x-oapi-codegen-extra-tags":{json:"organizationId,omitempty"}},metadata:{type:"object",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"metadata,omitempty"}}}}}}},responses:{200:{description:"Workspace",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/workspace.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A workspace is a logical grouping of resources within an organization. Workspaces provide a way to organize environments, designs, teams, and views. Learn more at https://docs.meshery.io/concepts/logical/workspaces",additionalProperties:false,type:"object",required:["id","name","organizationId","createdAt","updatedAt"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},organizationId:{description:"Organization to which this workspace belongs.","x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organizationId,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"User ID of the workspace owner.","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",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata"}},createdAt:{description:"Timestamp when the workspace was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the workspace was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the workspace was soft-deleted. Null while the workspace is active.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"deleteWorkspace",summary:"Delete a workspace",description:"Deletes a workspace by its ID.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true}],responses:{204:{description:"Workspace deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/workspaces/{workspaceId}/teams":{get:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"getTeamsOfWorkspace",summary:"Get teams assigned to a workspace",description:"Gets teams assigned to or available for a workspace depending on the filter.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},{name:"filter",in:"query",description:"JSON-encoded filter string used for assignment and soft-delete filters.",schema:{type:"string",maxLength:4096}}],responses:{200:{description:"Teams",content:{"application/json":{schema:{type:"object",description:"Paginated list of teams",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},teams:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"Team",$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name",minLength:1,maxLength:255},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description",maxLength:5e3},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-order":8,description:"SQL null Timestamp to handle null values of time.","x-go-type":"meshcore.NullTime","x-go-type-import":{name:"meshcore",path:"github.com/meshery/schemas/models/core"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},description:"The teams of the teampage."}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/workspaces/{workspaceId}/teams/{teamId}":{post:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"assignTeamToWorkspace",summary:"Assign a team to a workspace",description:"Assigns a team to a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"Workspace team mappings",content:{"application/json":{schema:{type:"object",description:"Paginated list of workspace-team mappings.",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Zero-based page index returned in this response.",minimum:0},pageSize:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"}},totalCount:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"}},workspacesTeamsMapping:{type:"array",description:"Workspace-team mapping entries.","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"WorkspacesTeamsMapping",type:"object",description:"Junction record linking a workspace to a team.",additionalProperties:false,required:["id","workspaceId","teamId"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},workspaceId:{description:"Workspace ID for this mapping.","x-go-name":"WorkspaceID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspaceId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},teamId:{description:"Team ID for this mapping.","x-go-name":"TeamID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"team_id",json:"teamId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the mapping was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the mapping was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the mapping was soft-deleted.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","x-go-type-skip-optional-pointer":true}}}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"unassignTeamFromWorkspace",summary:"Unassign a team from a workspace",description:"Removes a team from a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true}],responses:{204:{description:"Workspace team mapping removed"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/workspaces/{workspaceId}/environments":{get:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"getEnvironmentsOfWorkspace",summary:"Get environments assigned to a workspace",description:"Gets environments assigned to or available for a workspace depending on the filter.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},{name:"filter",in:"query",description:"JSON-encoded filter string used for assignment and soft-delete filters.",schema:{type:"string",maxLength:4096}}],responses:{200:{description:"Environments",content:{"application/json":{schema:{type:"object",description:"Paginated list of environments.",properties:{page:{description:"Zero-based page index returned in this response.",minimum:0,type:"integer","x-go-type-skip-optional-pointer":true},pageSize:{description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize"},type:"integer","x-go-type-skip-optional-pointer":true},totalCount:{description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount"},type:"integer","x-go-type-skip-optional-pointer":true},environments:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"Environment",$id:"https://schemas.meshery.io/environment.yaml",$schema:"http://json-schema.org/draft-07/schema#",title:"Environment",description:"Environments allow you to logically group related Connections and their associated Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments",additionalProperties:false,type:"object",example:{id:"00000000-0000-0000-0000-000000000000",schemaVersion:"environments.meshery.io/v1beta3",name:"Production Environment",description:"Connections and credentials for the production cluster.",purpose:"user",organizationId:"00000000-0000-0000-0000-000000000000",owner:"00000000-0000-0000-0000-000000000000",createdAt:"0001-01-01T00:00:00Z",metadata:{},updatedAt:"0001-01-01T00:00:00Z",deletedAt:null},required:["id","schemaVersion","name","description","organizationId"],properties:{id:{description:"ID","x-order":1,"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"}},schemaVersion:{description:"Specifies the version of the schema to which the environment conforms.","x-order":2,"x-oapi-codegen-extra-tags":{json:"schemaVersion",db:"-",gorm:"-"},default:"environments.meshery.io/v1beta3",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},name:{"x-oapi-codegen-extra-tags":{db:"name",json:"name"},"x-order":3,type:"string",maxLength:100,description:"Environment name"},description:{"x-oapi-codegen-extra-tags":{db:"description",json:"description"},"x-order":4,type:"string",maxLength:1e3,description:"Environment description"},organizationId:{"x-go-name":"OrganizationID","x-oapi-codegen-extra-tags":{db:"organization_id",json:"organizationId"},"x-order":5,description:"Environment organization ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{"x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},"x-order":6,description:"Environment owner",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the environment was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt"},"x-order":7,"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},metadata:{description:"Additional metadata associated with the environment.","x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata"},"x-order":8,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object"},updatedAt:{description:"Timestamp when the environment was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt"},"x-order":9,"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the environment was soft deleted. Null while the environment remains active.",nullable:true,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":10,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},purpose:{type:"string",description:'What the environment exists for. `user` is an ordinary environment that people create to logically group Connections and their Credentials. `administrative` designates an environment the platform itself provisions to hold organization-level configuration, and which resolvers of that configuration therefore trust.\n\nAbsent means `user`. Nothing may read an unset or unrecognised value as administrative: test for the administrative value explicitly rather than for "not user", so the property fails closed.\n\nAt most one live environment per organization may carry any single privileged purpose - `administrative`, and each privileged value a later version adds. Name those values explicitly wherever the rule is enforced, including the database index predicate: a "not `user`" test also matches the empty value that unmigrated rows and un-normalised writes read back as, which means ordinary. A resolver that selects an environment by purpose MUST fail closed when more than one live row matches: return an error rather than whichever row the database happened to return first.\n\nServer-owned and not client-settable. It is absent from `EnvironmentPayload`, which every environment POST and PUT requestBody references, and from the create-or-edit form, so the environment create and update endpoints have no field for it. That exclusion is a codegen guarantee, never access control: the registrant connection inlines the full environment entity, so `registerRegistryComponent` and `registerRegistryRelationship` do carry `purpose` in a request type and consumers MUST refuse it on input there too. Whatever surface a value arrives on, every consumer MUST assign this property only from server-side provisioning or a data migration. Permission to create an environment does not confer the ability to make one administrative.\n\nThe database index that enforces the uniqueness invariant, the migration path for environments that are administrative by naming convention today, and each consumer\'s obligations are specified in https://github.com/meshery/schemas/blob/master/docs/environment-purpose-contract.md.',enum:["user","administrative"],"x-enum-varnames":["EnvironmentPurposeUser","EnvironmentPurposeAdministrative"],"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"purpose",gorm:"not null;default:user",json:"purpose,omitempty"},"x-order":11}}},description:"Environments associated with this resource."}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/workspaces/{workspaceId}/environments/{environmentId}":{post:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"assignEnvironmentToWorkspace",summary:"Assign an environment to a workspace",description:"Assigns an environment to a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"environmentId",in:"path",description:"Environment ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"environment_id",json:"environment_id"},"x-go-type-name":"EnvironmentId","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"Workspace environment mappings",content:{"application/json":{schema:{type:"object",description:"Paginated list of workspace-environment mappings.",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Zero-based page index returned in this response.",minimum:0},pageSize:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"}},totalCount:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"}},workspacesEnvironmentsMapping:{type:"array",description:"Workspace-environment mapping entries.","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"WorkspacesEnvironmentsMapping",type:"object",description:"Junction record linking a workspace to an environment.",additionalProperties:false,required:["id","workspaceId","environmentId"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},workspaceId:{description:"Workspace ID for this mapping.","x-go-name":"WorkspaceID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspaceId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},environmentId:{description:"Environment ID for this mapping.","x-go-name":"EnvironmentID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"environment_id",json:"environmentId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the mapping was created.","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at",json:"createdAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the mapping was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at",json:"updatedAt,omitempty"},"x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-go-type-skip-optional-pointer":true},deletedAt:{description:"Timestamp when the mapping was soft-deleted.","x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at",json:"deletedAt,omitempty"},"x-go-type":"NullTime",type:"string",format:"date-time","x-go-name":"DeletedAt","x-go-type-skip-optional-pointer":true}}}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud","meshery"],tags:["workspaces"],operationId:"unassignEnvironmentFromWorkspace",summary:"Unassign an environment from a workspace",description:"Removes an environment from a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"environmentId",in:"path",description:"Environment ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"environment_id",json:"environment_id"},"x-go-type-name":"EnvironmentId","x-go-type-skip-optional-pointer":true},required:true}],responses:{204:{description:"Workspace environment mapping removed"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/workspaces/{workspaceId}/designs":{get:{"x-internal":["cloud","meshery"],tags:["workspaces","designs"],operationId:"getDesignsOfWorkspace",summary:"Get designs assigned to a workspace",description:"Gets designs assigned to or available for a workspace depending on the filter.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},{name:"filter",in:"query",description:"JSON-encoded filter string used for assignment and soft-delete filters.",schema:{type:"string",maxLength:4096}}],responses:{200:{description:"Designs",content:{"application/json":{schema:{type:"object",description:"Paginated list of designs.",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Zero-based page index returned in this response.",minimum:0},pageSize:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"}},totalCount:{type:"integer","x-go-type-skip-optional-pointer":true,description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"}},designs:{type:"array",description:"Designs in this page.","x-go-type-skip-optional-pointer":true,items:{type:"object",properties:{catalogData:{"x-go-type":"catalogv1beta1.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/catalog",name:"catalogv1beta1"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string"},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}]},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},pattern_caveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design."},pattern_info:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type",enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","pattern_caveats","pattern_info","type"]},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},user_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},location:{type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},name:{type:"string","x-go-type-skip-optional-pointer":true},patternFile:{"x-go-type":"PatternFile",$schema:"http://json-schema.org/draft-07/schema#",title:"Design Schema",description:"Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.",type:"object",additionalProperties:false,properties:{id:{"x-order":1,type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string",description:"Name of the design; a descriptive, but concise title for the design document.","x-order":2},schemaVersion:{description:"Specifies the version of the schema to which the design conforms.","x-order":3,type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{default:"v0.0.1","x-order":4,description:"Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually set by a user or third-party system, but will always be required to be of version number higher than the previously defined version number.",minLength:1,maxLength:50,type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},metadata:{type:"object","x-order":5,additionalProperties:true,properties:{resolvedAliases:{description:"Map of resolved aliases present in the design",type:"object","x-go-type":"map[string]core.ResolvedAlias","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},additionalProperties:{description:"An resolved alias is an component that acts as an ref/pointer to a field in another component, resolvedAlias are aware of there immediate parents and completely resolved parents also",allOf:[{description:"An alias is an component that acts as an ref/pointer to a field in another component, nonResolvedAlias are not aware of there immediate parents",type:"object",properties:{relationship_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},alias_component_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},immediate_ref_field_path:{type:"array",items:{type:"string"}}},required:["relationship_id","alias_component_id","immediate_parent_id","immediate_ref_field_path"]},{type:"object",properties:{resolved_parent_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},resolved_ref_field_path:{type:"array",items:{type:"string"}}},required:["resolved_parent_id","resolved_ref_field_path"]}]}}}},components:{description:"A list of one or more component declarations.",minItems:0,"x-order":6,type:"array","x-go-type":"[]*component.ComponentDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/component",name:"component"},items:{allOf:[{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readible format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+(alpha[0-9]*|beta[0-9]*|rc[0-9]*)?)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the model definition.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",helperText:"Model name should be in lowercase with hyphens, not whitespaces.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"name",json:"name"},default:"untitled-model"},displayName:{description:"Human-readable name for the model.",helperText:"Model display name may include letters, numbers, and spaces. Special characters are not allowed.",minLength:1,maxLength:100,type:"string",pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"],"x-order":5,"x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},default:"Untitled Model"},description:{type:"string",default:"A new Meshery model.",description:"Description of the model.",minLength:1,maxLength:1e3,"x-order":6,"x-oapi-codegen-extra-tags":{yaml:"description,omitempty",json:"description,omitempty"}},status:{type:"string",description:`Status of model, including:
2
2
  - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status.
3
3
  - maintenance: model is unavailable for a period of time.
4
4
  - enabled: model is available for use for all users of this Meshery Server.
package/dist/index.js CHANGED
@@ -1643,5 +1643,5 @@ remove: Removes a value.
1643
1643
  copy: Copies a value from one location to another.
1644
1644
  move: Moves a value from one location to another.
1645
1645
  test: Tests that a value at the target location is equal to a specified value.
1646
- `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}},"x-go-type":"SelectorSetItem"}},Relationship_Metadata:{"x-go-name":"Relationship_Metadata",type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},RelationshipDefinitionMetadataStyles:{type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}}}}},Q=H;var ot={meshery:"meshery",kubernetes:"kubernetes",prometheus:"prometheus",grafana:"grafana",github:"github"};var e={title:"Publish Catalog Item",description:"RJSF form schema for the catalog publishing modal. Captures the user-input fields of the canonical Catalog construct (publishedVersion / class / snapshotURL are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta2/catalog/catalog.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{compatibility:{type:"array",title:"Technology",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"A list of technologies included in or implicated by this design; a list of relevant technology tags.","x-rjsf-grid-area":6},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",format:"textarea","x-rjsf-grid-area":12,"x-encode-in-uri":true},patternInfo:{type:"string",title:"Description",description:"Purpose of the design along with its intended and unintended uses.",format:"textarea","x-rjsf-grid-area":12,"x-encode-in-uri":true},type:{type:"string",title:"Type",enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design.","x-rjsf-grid-area":6}},required:["compatibility","patternCaveats","patternInfo","type"]};var t={"ui:options":{label:false},compatibility:{"ui:widget":"select"},"ui:order":["type","compatibility","patternInfo","patternCaveats"]};var i={title:"Environment",description:"RJSF form schema for the create-or-edit environment modal. Captures the user-input fields of the canonical Environment construct (id / schemaVersion / owner / createdAt / updatedAt / deletedAt are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta3/environment/environment.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{organizationId:{type:"string",title:"Organization",description:"Environment organization ID","x-rjsf-grid-area":"12"},name:{type:"string",title:"Name",description:"Environment name","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Environment description",format:"textarea","x-rjsf-grid-area":"12"}},required:["name"]};var o={"ui:options":{label:false},organizationId:{"ui:widget":"hidden"},"ui:order":["organizationId","name","description"]};var a={title:"Workspace",description:"RJSF form schema for the create-or-edit workspace modal. Captures the user-input fields of the canonical Workspace construct (id / owner / metadata / createdAt / updatedAt / deletedAt are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta3/workspace/workspace.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{organizationId:{type:"string",title:"Organization",description:"Organization to which this workspace belongs.","x-rjsf-grid-area":"12"},name:{type:"string",title:"Name",description:"Name of the workspace.","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Description of the workspace.",format:"textarea","x-rjsf-grid-area":"12"}},required:["name","organizationId"]};var n={"ui:options":{label:false},organizationId:{"ui:widget":"hidden"},"ui:order":["organizationId","name","description"]};var r={title:"Import Design",description:"RJSF form schema for the import-design modal. Captures the user-input fields drawn from the canonical MesheryPatternImportFormPayload schema in meshery/schemas/constructs/v1beta3/design/api.yml. The uploadType discriminator determines which branch's conditional required fields apply. Field shape, types, and required lists MUST stay a subset of the canonical schema components; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Design file name",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.","x-rjsf-grid-area":"12"},uploadType:{type:"string",title:"Upload method",enum:["File Upload","URL Import"],default:"URL Import",description:"Choose the method you prefer. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"File Upload"}}},then:{properties:{file:{type:"string",format:"data-url",title:"File",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded file bytes accepted by the import API (canonical `format: byte`); consumers strip the `data:<mime>;base64,` prefix before posting. Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See Import Designs Documentation for details.","x-rjsf-grid-area":"12"}},required:["file"]},else:{properties:{url:{type:"string",format:"uri",title:"URL",description:"A direct URL to a single file, for example: https://raw.githubusercontent.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design.","x-rjsf-grid-area":"12"}},required:["url"]}}],required:["uploadType","name"]};var s={"ui:options":{label:false},name:{"ui:placeholder":"Untitled Design"},uploadType:{"ui:widget":"radio"},"ui:order":["name","uploadType","file","url"]};var p={title:"Import Model",description:"RJSF form schema for the import-model modal. Captures the user-input fields drawn from the canonical MesheryModelImportFormPayload schema in meshery/schemas/constructs/v1beta2/model/api.yml. The uploadType discriminator determines which branch's conditional required fields apply. Field shape, types, and required lists MUST stay a subset of the canonical MesheryModelImportFormPayload; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{uploadType:{type:"string",title:"Upload method",enum:["file","urlImport","csv"],enumNames:["File Import","URL Import","CSV Import"],description:"Choose the method you prefer to upload your model file. Select 'File Import' or 'CSV Import' if you have the file on your local system, or 'URL Import' if you have the file hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"file"}}},then:{properties:{fileName:{type:"string",title:"File name",description:"Name of the model file being uploaded.","x-rjsf-grid-area":"12"},modelFile:{type:"string",format:"data-url",title:"Model file",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded model archive accepted by the import API; consumers strip the `data:<mime>;base64,` prefix before posting. Supported formats: .tar, .tar.gz, .tgz.","x-rjsf-grid-area":"12"}},required:["fileName","modelFile"]}},{if:{properties:{uploadType:{type:"string",const:"urlImport"}}},then:{properties:{url:{type:"string",format:"uri",title:"URL",description:"A direct URL to a single model file. Supported formats: .tar, .tar.gz, .tgz.","x-rjsf-grid-area":"12"}},required:["url"]}},{if:{properties:{uploadType:{type:"string",const:"csv"}}},then:{properties:{modelCsv:{type:"string",format:"binary",title:"Model CSV",description:"CSV file containing model definitions.","x-rjsf-grid-area":"12"},componentCsv:{type:"string",format:"binary",title:"Component CSV",description:"CSV file containing component definitions.","x-rjsf-grid-area":"12"},relationshipCsv:{type:"string",format:"binary",title:"Relationship CSV",description:"CSV file containing relationship definitions.","x-rjsf-grid-area":"12"}},required:["modelCsv","componentCsv","relationshipCsv"]}}],required:["uploadType"]};var d={"ui:options":{label:false},uploadType:{"ui:widget":"radio"},modelFile:{"ui:widget":"file"},modelCsv:{"ui:widget":"file"},componentCsv:{"ui:widget":"file"},relationshipCsv:{"ui:widget":"file"},"ui:order":["uploadType","fileName","modelFile","url","modelCsv","componentCsv","relationshipCsv"]};var c={title:"Import Filter",description:"RJSF form schema for the import-filter modal. Captures the user-input fields drawn from the canonical MesheryFilterImportFormPayload schema in meshery/schemas/constructs/v1beta3/filter/api.yml. The uploadType discriminator selects between File Upload and URL Upload import methods. Field shape, types, and required lists MUST stay a subset of the canonical MesheryFilterImportFormPayload; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Name",description:"Human-readable filter name.","x-rjsf-grid-area":"6"},uploadType:{type:"string",title:"Upload method",enum:["File Upload","URL Upload"],default:"File Upload",description:"Choose the method you prefer. Select 'File Upload' if you have the filter on your local system, or 'URL Upload' if the filter is hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"File Upload"}}},then:{properties:{filterFile:{type:"string",format:"data-url",title:"Filter file",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded filter source accepted by the import API (canonical `format: byte`); consumers strip the `data:<mime>;base64,` prefix before posting. Optional on update \u2014 the server preserves the existing body when omitted.","x-rjsf-grid-area":"12"}},required:["filterFile"]},else:{properties:{filterResource:{type:"string",title:"URL",description:"Filter resource discriminator describing the body's source format (e.g. WASM module identifier or external resource path).","x-rjsf-grid-area":"12"}},required:["filterResource"]}}],required:["name","uploadType"]};var m={"ui:options":{label:false},uploadType:{"ui:widget":"radio"},"ui:order":["name","uploadType","filterFile","filterResource"]};var l={title:"Helm Repository Connection",description:"RJSF form schema for configuring a Helm repository connection. Captures the user-input fields drawn from the canonical Connection construct in meshery/schemas/constructs/v1beta3/connection/connection.yaml. Field shape, types, and required lists MUST stay a subset of the canonical Connection; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Name",minLength:1,description:"Connection Name","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Human-readable description of the connection and its purpose.","x-rjsf-grid-area":"12"},url:{type:"string",title:"URL",format:"uri",description:"URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes API server endpoint, the Grafana instance URL).","x-rjsf-grid-area":"12"}},required:["name","url"]};var g={"ui:options":{label:false},description:{"ui:widget":"textarea"},"ui:order":["name","description","url"]};var h={title:"Support Form",description:"RJSF form schema for the help-and-support modal. Captures the user-input fields of the canonical SupportRequest construct (meshery/schemas/constructs/v1beta1/support/api.yml). Field shape, types, enums, and required list MUST stay a subset of SupportRequest; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{subject:{type:"string",title:"Subject",description:"Enter a concise and descriptive title for your support request. This will help us quickly understand the nature of your inquiry.",minLength:1,"x-rjsf-grid-area":"12"},message:{type:"string",title:"Description",description:"Please provide a detailed description of your issue or question. Include any relevant information that will help us assist you more effectively.",minLength:10,format:"textarea","x-rjsf-grid-area":"12"},scope:{type:"string",title:"Scope of Questions",description:"Select the category that best represents the nature of your inquiry.",enum:["Support","Community","Account","Commercial"],"x-rjsf-grid-area":"12"}},required:["subject","message"]};var y={"ui:options":{label:false},subject:{"ui:placeholder":"Summary or title for your support request"},message:{"ui:placeholder":"Detailed description of your support request"},scope:{"ui:widget":"radio"},"ui:order":["subject","message","scope"]};var u={title:"Kubernetes",description:"RJSF form schema for creating a Kubernetes credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the kubernetes-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Kubernetes cluster",properties:{clusterName:{type:"string",title:"Cluster Name",description:"Name of the Kubernetes cluster"},clusterServerURL:{type:"string",title:"Server URL",description:"URL of the Kubernetes cluster"},auth:{type:"object",title:"Auth",description:"Kubernetes cluster authentication",properties:{clusterUserName:{type:"string",title:"User Name",description:"Name of the Kubernetes cluster user"},clusterToken:{type:"string",title:"Token",description:"Token of the Kubernetes cluster user"},clusterClientCertificateData:{type:"string",title:"Client Certificate Data",description:"Certificate data of the Kubernetes cluster"},clusterClientKeyData:{type:"string",title:"Client Key Data",description:"Client Key data of the Kubernetes cluster"},clusterCertificateAuthorityData:{type:"string",title:"Certificate Authority Data",description:"Certificate Authority data of the Kubernetes cluster"}},required:["clusterUserName","clusterToken","clusterClientCertificateData","clusterClientKeyData","clusterCertificateAuthorityData"]}},required:["clusterName","clusterServerURL"]}},required:["name"]};var f={"ui:options":{label:false}};var x={title:"Grafana",description:"RJSF form schema for creating a Grafana credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the grafana-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Grafana instance",properties:{grafanaURL:{type:"string",title:"URL",description:"URL of the Grafana instance"},grafanaAPIKey:{type:"string",title:"API Key",description:"API Key for the Grafana instance"}},required:["grafanaURL","grafanaAPIKey"]}},required:["name"]};var b={"ui:options":{label:false}};var v={title:"Prometheus",description:"RJSF form schema for creating a Prometheus credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the prometheus-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Prometheus instance",properties:{prometheusURL:{type:"string",title:"URL",description:"URL of the Prometheus instance"}},required:["prometheusURL"]}},required:["name"]};var w={"ui:options":{label:false}};var ve=r,we=s,je=p,Te=d,Ae=c,Se=m,ze=l,ke=g,Ue=e,Ie=t,Ce=i,Re=o,_e=a,qe=n,Me=u,Le=f,Ze=x,De=b,Pe=v,Ne=w,Ve=h,Oe=y;
1646
+ `,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}},"x-go-type":"SelectorSetItem"}},Relationship_Metadata:{"x-go-name":"Relationship_Metadata",type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},RelationshipDefinitionMetadataStyles:{type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}}}}},Q=H;var ot={meshery:"meshery",kubernetes:"kubernetes",prometheus:"prometheus",grafana:"grafana",github:"github"};var e={title:"Publish Catalog Item",description:"RJSF form schema for the catalog publishing modal. Captures the user-input fields of the canonical Catalog construct (publishedVersion / class / snapshotURL are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta2/catalog/catalog.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{compatibility:{type:"array",title:"Technology",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"A list of technologies included in or implicated by this design; a list of relevant technology tags.","x-rjsf-grid-area":6},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",format:"textarea","x-rjsf-grid-area":12,"x-encode-in-uri":true},patternInfo:{type:"string",title:"Description",description:"Purpose of the design along with its intended and unintended uses.",format:"textarea","x-rjsf-grid-area":12,"x-encode-in-uri":true},type:{type:"string",title:"Type",enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design.","x-rjsf-grid-area":6}},required:["compatibility","patternCaveats","patternInfo","type"]};var t={"ui:options":{label:false},compatibility:{"ui:widget":"select"},"ui:order":["type","compatibility","patternInfo","patternCaveats"]};var i={title:"Environment",description:"RJSF form schema for the create-or-edit environment modal. Captures the user-input fields of the canonical Environment construct (id / schemaVersion / owner / createdAt / updatedAt / deletedAt are server-generated and intentionally absent, and purpose is server-owned - it designates an environment administrative and must never be offered as a form field). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta3/environment/environment.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{organizationId:{type:"string",title:"Organization",description:"Environment organization ID","x-rjsf-grid-area":"12"},name:{type:"string",title:"Name",description:"Environment name","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Environment description",format:"textarea","x-rjsf-grid-area":"12"}},required:["name"]};var o={"ui:options":{label:false},organizationId:{"ui:widget":"hidden"},"ui:order":["organizationId","name","description"]};var a={title:"Workspace",description:"RJSF form schema for the create-or-edit workspace modal. Captures the user-input fields of the canonical Workspace construct (id / owner / metadata / createdAt / updatedAt / deletedAt are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta3/workspace/workspace.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{organizationId:{type:"string",title:"Organization",description:"Organization to which this workspace belongs.","x-rjsf-grid-area":"12"},name:{type:"string",title:"Name",description:"Name of the workspace.","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Description of the workspace.",format:"textarea","x-rjsf-grid-area":"12"}},required:["name","organizationId"]};var n={"ui:options":{label:false},organizationId:{"ui:widget":"hidden"},"ui:order":["organizationId","name","description"]};var r={title:"Import Design",description:"RJSF form schema for the import-design modal. Captures the user-input fields drawn from the canonical MesheryPatternImportFormPayload schema in meshery/schemas/constructs/v1beta3/design/api.yml. The uploadType discriminator determines which branch's conditional required fields apply. Field shape, types, and required lists MUST stay a subset of the canonical schema components; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Design file name",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.","x-rjsf-grid-area":"12"},uploadType:{type:"string",title:"Upload method",enum:["File Upload","URL Import"],default:"URL Import",description:"Choose the method you prefer. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"File Upload"}}},then:{properties:{file:{type:"string",format:"data-url",title:"File",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded file bytes accepted by the import API (canonical `format: byte`); consumers strip the `data:<mime>;base64,` prefix before posting. Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See Import Designs Documentation for details.","x-rjsf-grid-area":"12"}},required:["file"]},else:{properties:{url:{type:"string",format:"uri",title:"URL",description:"A direct URL to a single file, for example: https://raw.githubusercontent.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design.","x-rjsf-grid-area":"12"}},required:["url"]}}],required:["uploadType","name"]};var s={"ui:options":{label:false},name:{"ui:placeholder":"Untitled Design"},uploadType:{"ui:widget":"radio"},"ui:order":["name","uploadType","file","url"]};var p={title:"Import Model",description:"RJSF form schema for the import-model modal. Captures the user-input fields drawn from the canonical MesheryModelImportFormPayload schema in meshery/schemas/constructs/v1beta2/model/api.yml. The uploadType discriminator determines which branch's conditional required fields apply. Field shape, types, and required lists MUST stay a subset of the canonical MesheryModelImportFormPayload; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{uploadType:{type:"string",title:"Upload method",enum:["file","urlImport","csv"],enumNames:["File Import","URL Import","CSV Import"],description:"Choose the method you prefer to upload your model file. Select 'File Import' or 'CSV Import' if you have the file on your local system, or 'URL Import' if you have the file hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"file"}}},then:{properties:{fileName:{type:"string",title:"File name",description:"Name of the model file being uploaded.","x-rjsf-grid-area":"12"},modelFile:{type:"string",format:"data-url",title:"Model file",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded model archive accepted by the import API; consumers strip the `data:<mime>;base64,` prefix before posting. Supported formats: .tar, .tar.gz, .tgz.","x-rjsf-grid-area":"12"}},required:["fileName","modelFile"]}},{if:{properties:{uploadType:{type:"string",const:"urlImport"}}},then:{properties:{url:{type:"string",format:"uri",title:"URL",description:"A direct URL to a single model file. Supported formats: .tar, .tar.gz, .tgz.","x-rjsf-grid-area":"12"}},required:["url"]}},{if:{properties:{uploadType:{type:"string",const:"csv"}}},then:{properties:{modelCsv:{type:"string",format:"binary",title:"Model CSV",description:"CSV file containing model definitions.","x-rjsf-grid-area":"12"},componentCsv:{type:"string",format:"binary",title:"Component CSV",description:"CSV file containing component definitions.","x-rjsf-grid-area":"12"},relationshipCsv:{type:"string",format:"binary",title:"Relationship CSV",description:"CSV file containing relationship definitions.","x-rjsf-grid-area":"12"}},required:["modelCsv","componentCsv","relationshipCsv"]}}],required:["uploadType"]};var d={"ui:options":{label:false},uploadType:{"ui:widget":"radio"},modelFile:{"ui:widget":"file"},modelCsv:{"ui:widget":"file"},componentCsv:{"ui:widget":"file"},relationshipCsv:{"ui:widget":"file"},"ui:order":["uploadType","fileName","modelFile","url","modelCsv","componentCsv","relationshipCsv"]};var c={title:"Import Filter",description:"RJSF form schema for the import-filter modal. Captures the user-input fields drawn from the canonical MesheryFilterImportFormPayload schema in meshery/schemas/constructs/v1beta3/filter/api.yml. The uploadType discriminator selects between File Upload and URL Upload import methods. Field shape, types, and required lists MUST stay a subset of the canonical MesheryFilterImportFormPayload; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Name",description:"Human-readable filter name.","x-rjsf-grid-area":"6"},uploadType:{type:"string",title:"Upload method",enum:["File Upload","URL Upload"],default:"File Upload",description:"Choose the method you prefer. Select 'File Upload' if you have the filter on your local system, or 'URL Upload' if the filter is hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"File Upload"}}},then:{properties:{filterFile:{type:"string",format:"data-url",title:"Filter file",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded filter source accepted by the import API (canonical `format: byte`); consumers strip the `data:<mime>;base64,` prefix before posting. Optional on update \u2014 the server preserves the existing body when omitted.","x-rjsf-grid-area":"12"}},required:["filterFile"]},else:{properties:{filterResource:{type:"string",title:"URL",description:"Filter resource discriminator describing the body's source format (e.g. WASM module identifier or external resource path).","x-rjsf-grid-area":"12"}},required:["filterResource"]}}],required:["name","uploadType"]};var m={"ui:options":{label:false},uploadType:{"ui:widget":"radio"},"ui:order":["name","uploadType","filterFile","filterResource"]};var l={title:"Helm Repository Connection",description:"RJSF form schema for configuring a Helm repository connection. Captures the user-input fields drawn from the canonical Connection construct in meshery/schemas/constructs/v1beta3/connection/connection.yaml. Field shape, types, and required lists MUST stay a subset of the canonical Connection; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Name",minLength:1,description:"Connection Name","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Human-readable description of the connection and its purpose.","x-rjsf-grid-area":"12"},url:{type:"string",title:"URL",format:"uri",description:"URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes API server endpoint, the Grafana instance URL).","x-rjsf-grid-area":"12"}},required:["name","url"]};var g={"ui:options":{label:false},description:{"ui:widget":"textarea"},"ui:order":["name","description","url"]};var h={title:"Support Form",description:"RJSF form schema for the help-and-support modal. Captures the user-input fields of the canonical SupportRequest construct (meshery/schemas/constructs/v1beta1/support/api.yml). Field shape, types, enums, and required list MUST stay a subset of SupportRequest; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{subject:{type:"string",title:"Subject",description:"Enter a concise and descriptive title for your support request. This will help us quickly understand the nature of your inquiry.",minLength:1,"x-rjsf-grid-area":"12"},message:{type:"string",title:"Description",description:"Please provide a detailed description of your issue or question. Include any relevant information that will help us assist you more effectively.",minLength:10,format:"textarea","x-rjsf-grid-area":"12"},scope:{type:"string",title:"Scope of Questions",description:"Select the category that best represents the nature of your inquiry.",enum:["Support","Community","Account","Commercial"],"x-rjsf-grid-area":"12"}},required:["subject","message"]};var y={"ui:options":{label:false},subject:{"ui:placeholder":"Summary or title for your support request"},message:{"ui:placeholder":"Detailed description of your support request"},scope:{"ui:widget":"radio"},"ui:order":["subject","message","scope"]};var u={title:"Kubernetes",description:"RJSF form schema for creating a Kubernetes credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the kubernetes-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Kubernetes cluster",properties:{clusterName:{type:"string",title:"Cluster Name",description:"Name of the Kubernetes cluster"},clusterServerURL:{type:"string",title:"Server URL",description:"URL of the Kubernetes cluster"},auth:{type:"object",title:"Auth",description:"Kubernetes cluster authentication",properties:{clusterUserName:{type:"string",title:"User Name",description:"Name of the Kubernetes cluster user"},clusterToken:{type:"string",title:"Token",description:"Token of the Kubernetes cluster user"},clusterClientCertificateData:{type:"string",title:"Client Certificate Data",description:"Certificate data of the Kubernetes cluster"},clusterClientKeyData:{type:"string",title:"Client Key Data",description:"Client Key data of the Kubernetes cluster"},clusterCertificateAuthorityData:{type:"string",title:"Certificate Authority Data",description:"Certificate Authority data of the Kubernetes cluster"}},required:["clusterUserName","clusterToken","clusterClientCertificateData","clusterClientKeyData","clusterCertificateAuthorityData"]}},required:["clusterName","clusterServerURL"]}},required:["name"]};var f={"ui:options":{label:false}};var x={title:"Grafana",description:"RJSF form schema for creating a Grafana credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the grafana-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Grafana instance",properties:{grafanaURL:{type:"string",title:"URL",description:"URL of the Grafana instance"},grafanaAPIKey:{type:"string",title:"API Key",description:"API Key for the Grafana instance"}},required:["grafanaURL","grafanaAPIKey"]}},required:["name"]};var b={"ui:options":{label:false}};var v={title:"Prometheus",description:"RJSF form schema for creating a Prometheus credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the prometheus-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Prometheus instance",properties:{prometheusURL:{type:"string",title:"URL",description:"URL of the Prometheus instance"}},required:["prometheusURL"]}},required:["name"]};var w={"ui:options":{label:false}};var ve=r,we=s,je=p,Te=d,Ae=c,Se=m,ze=l,ke=g,Ue=e,Ie=t,Ce=i,Re=o,_e=a,qe=n,Me=u,Le=f,Ze=x,De=b,Pe=v,Ne=w,Ve=h,Oe=y;
1647
1647
  exports.BadgeSchema=N;exports.CatalogPublishRjsfSchemaV1Beta2=Ue;exports.CatalogPublishRjsfUiSchemaV1Beta2=Ie;exports.CategoryDefinitionV1Beta1OpenApiSchema=T;exports.ComponentDefinitionV1Beta1OpenApiSchema=I;exports.ComponentDefinitionV1Beta2OpenApiSchema=O;exports.ConnectionDefinitionV1Beta2OpenApiSchema=J;exports.ConnectionHelmCreateRjsfSchemaV1Beta3=ze;exports.ConnectionHelmCreateRjsfUiSchemaV1Beta3=ke;exports.CoreConnectionKinds=ot;exports.DesignDefinitionV1Beta1OpenApiSchema=k;exports.DesignDefinitionV1Beta2OpenApiSchema=E;exports.DesignImportRjsfSchemaV1Beta3=ve;exports.DesignImportRjsfUiSchemaV1Beta3=we;exports.EnvironmentCreateOrEditRjsfSchemaV1Beta3=Ce;exports.EnvironmentCreateOrEditRjsfUiSchemaV1Beta3=Re;exports.EnvironmentDefinitionV1Beta1OpenApiSchema=q;exports.FilterImportRjsfSchemaV1Beta3=Ae;exports.FilterImportRjsfUiSchemaV1Beta3=Se;exports.GrafanaCredentialRjsfSchemaV1Beta1=Ze;exports.GrafanaCredentialRjsfUiSchemaV1Beta1=De;exports.InvitationDefinitionV1Beta2OpenApiSchema=W;exports.InvitationSchema=D;exports.KubernetesCredentialRjsfSchemaV1Beta1=Me;exports.KubernetesCredentialRjsfUiSchemaV1Beta1=Le;exports.ModelDefinitionV1Beta1OpenApiSchema=R;exports.ModelImportRjsfSchemaV1Beta2=je;exports.ModelImportRjsfUiSchemaV1Beta2=Te;exports.PrometheusCredentialRjsfSchemaV1Beta1=Pe;exports.PrometheusCredentialRjsfUiSchemaV1Beta1=Ne;exports.RelationshipDefinitionV1Alpha3OpenApiSchema=Q;exports.RelationshipDefinitionV1Beta2OpenApiSchema=G;exports.SubCategoryDefinitionV1Beta1OpenApiSchema=S;exports.SupportRequestRjsfSchemaV1Beta1=Ve;exports.SupportRequestRjsfUiSchemaV1Beta1=Oe;exports.WorkspaceCreateOrEditRjsfSchemaV1Beta3=_e;exports.WorkspaceCreateOrEditRjsfUiSchemaV1Beta3=qe;exports.WorkspaceDefinitionV1Beta1OpenApiSchema=L;