mirror of
https://github.com/coder/coder.git
synced 2026-10-30 18:12:29 +08:00
Adds group and user ACLs to org-scoped MCP server configs so
organizations can restrict specific MCP servers to subsets of members,
mirroring the template ACL pattern.
## Summary
- Migration adds `group_acl`/`user_acl` JSONB columns (nested `{"<id>":
{"permissions": [...]}}` shape) and seeds every existing config with its
organization's Everyone group read entry (the Everyone group ID equals
the org ID), so member access is unchanged by default. Creation seeds
the same entry.
- The blanket org-member read grant from the base PR is replaced by ACL
evaluation: Rego requires org membership for every ACL grant, and
`GetAuthorizedMCPServerConfigs` compiles ACL-aware SQL filters.
- New `ActionShare` (org admins) gates `GET|PATCH
/api/experimental/organizations/{organization}/mcp-servers/{mcpserverconfig}/acl`
(nested under the organization like the rest of the config surface).
PATCH validates principals against the config's organization, merges
sparse updates under a row lock, stamps `updated_by`/`updated_at`, and
is audited as a Write with `Old` captured before authorization. A config
deleted concurrently between the middleware fetch and the locked
re-fetch is concealed as 404, matching the update and delete handlers.
ACL columns are tracked in the audit table.
- ACL management is available in all editions (no enterprise
entitlement), documented in the MCP servers page. Revoking an ACL does
not retro-strip already-selected configs from existing chats; new
selection is blocked at chat create.
- Force On respects the ACL: the forced set is loaded as the chat owner,
so a `force_on` server whose ACL denies the owner never attaches at
create, send, or generation time.
- No rolling-upgrade machinery: upgrades run in scheduled maintenance
downtime, so the migration only backfills existing rows; the API sets
the Everyone read grant explicitly on every insert.
Stacked on #27943. Part of the MCP org-separation stack.
Closes https://linear.app/codercom/issue/CODAGT-712
UAT: verified on a dogfood instance with two members and a custom group:
Everyone-seed default visibility, group grant with Everyone removal
(non-member loses list/fetch/selection), foreign-principal rejection,
non-admin share denial (audited 403 / concealed 404), user_acl restore,
and audited ACL diffs.
> Mux (AI agent) authored this PR on Mike's behalf.
<!-- mux-attribution: model=claude-fable-5 thinking=high -->
311 lines
22 KiB
Go
311 lines
22 KiB
Go
// Code generated by scripts/apikeyscopesgen. DO NOT EDIT.
|
|
package codersdk
|
|
|
|
const (
|
|
// Deprecated: use codersdk.APIKeyScopeCoderAll instead.
|
|
APIKeyScopeAll APIKeyScope = "all"
|
|
// Deprecated: use codersdk.APIKeyScopeCoderApplicationConnect instead.
|
|
APIKeyScopeApplicationConnect APIKeyScope = "application_connect"
|
|
APIKeyScopeAiGatewayKeyAll APIKeyScope = "ai_gateway_key:*"
|
|
APIKeyScopeAiGatewayKeyCreate APIKeyScope = "ai_gateway_key:create"
|
|
APIKeyScopeAiGatewayKeyDelete APIKeyScope = "ai_gateway_key:delete"
|
|
APIKeyScopeAiGatewayKeyRead APIKeyScope = "ai_gateway_key:read"
|
|
APIKeyScopeAiGatewayKeyUpdate APIKeyScope = "ai_gateway_key:update"
|
|
APIKeyScopeAiModelPriceAll APIKeyScope = "ai_model_price:*"
|
|
APIKeyScopeAiModelPriceRead APIKeyScope = "ai_model_price:read"
|
|
APIKeyScopeAiModelPriceUpdate APIKeyScope = "ai_model_price:update"
|
|
APIKeyScopeAiProviderAll APIKeyScope = "ai_provider:*"
|
|
APIKeyScopeAiProviderCreate APIKeyScope = "ai_provider:create"
|
|
APIKeyScopeAiProviderDelete APIKeyScope = "ai_provider:delete"
|
|
APIKeyScopeAiProviderRead APIKeyScope = "ai_provider:read"
|
|
APIKeyScopeAiProviderUpdate APIKeyScope = "ai_provider:update"
|
|
APIKeyScopeAiSeatAll APIKeyScope = "ai_seat:*"
|
|
APIKeyScopeAiSeatCreate APIKeyScope = "ai_seat:create"
|
|
APIKeyScopeAiSeatRead APIKeyScope = "ai_seat:read"
|
|
APIKeyScopeAibridgeInterceptionAll APIKeyScope = "aibridge_interception:*"
|
|
APIKeyScopeAibridgeInterceptionCreate APIKeyScope = "aibridge_interception:create"
|
|
APIKeyScopeAibridgeInterceptionRead APIKeyScope = "aibridge_interception:read"
|
|
APIKeyScopeAibridgeInterceptionUpdate APIKeyScope = "aibridge_interception:update"
|
|
APIKeyScopeApiKeyAll APIKeyScope = "api_key:*"
|
|
APIKeyScopeApiKeyCreate APIKeyScope = "api_key:create"
|
|
APIKeyScopeApiKeyDelete APIKeyScope = "api_key:delete"
|
|
APIKeyScopeApiKeyRead APIKeyScope = "api_key:read"
|
|
APIKeyScopeApiKeyUpdate APIKeyScope = "api_key:update"
|
|
APIKeyScopeAssignOrgRoleAll APIKeyScope = "assign_org_role:*"
|
|
APIKeyScopeAssignOrgRoleAssign APIKeyScope = "assign_org_role:assign"
|
|
APIKeyScopeAssignOrgRoleCreate APIKeyScope = "assign_org_role:create"
|
|
APIKeyScopeAssignOrgRoleDelete APIKeyScope = "assign_org_role:delete"
|
|
APIKeyScopeAssignOrgRoleRead APIKeyScope = "assign_org_role:read"
|
|
APIKeyScopeAssignOrgRoleUnassign APIKeyScope = "assign_org_role:unassign"
|
|
APIKeyScopeAssignOrgRoleUpdate APIKeyScope = "assign_org_role:update"
|
|
APIKeyScopeAssignRoleAll APIKeyScope = "assign_role:*"
|
|
APIKeyScopeAssignRoleAssign APIKeyScope = "assign_role:assign"
|
|
APIKeyScopeAssignRoleRead APIKeyScope = "assign_role:read"
|
|
APIKeyScopeAssignRoleUnassign APIKeyScope = "assign_role:unassign"
|
|
APIKeyScopeAuditLogAll APIKeyScope = "audit_log:*"
|
|
APIKeyScopeAuditLogCreate APIKeyScope = "audit_log:create"
|
|
APIKeyScopeAuditLogRead APIKeyScope = "audit_log:read"
|
|
APIKeyScopeBoundaryLogAll APIKeyScope = "boundary_log:*"
|
|
APIKeyScopeBoundaryLogCreate APIKeyScope = "boundary_log:create"
|
|
APIKeyScopeBoundaryLogDelete APIKeyScope = "boundary_log:delete"
|
|
APIKeyScopeBoundaryLogRead APIKeyScope = "boundary_log:read"
|
|
APIKeyScopeBoundaryUsageAll APIKeyScope = "boundary_usage:*"
|
|
APIKeyScopeBoundaryUsageDelete APIKeyScope = "boundary_usage:delete"
|
|
APIKeyScopeBoundaryUsageRead APIKeyScope = "boundary_usage:read"
|
|
APIKeyScopeBoundaryUsageUpdate APIKeyScope = "boundary_usage:update"
|
|
APIKeyScopeChatAll APIKeyScope = "chat:*"
|
|
APIKeyScopeChatCreate APIKeyScope = "chat:create"
|
|
APIKeyScopeChatDelete APIKeyScope = "chat:delete"
|
|
APIKeyScopeChatRead APIKeyScope = "chat:read"
|
|
APIKeyScopeChatShare APIKeyScope = "chat:share"
|
|
APIKeyScopeChatUpdate APIKeyScope = "chat:update"
|
|
APIKeyScopeCoderAll APIKeyScope = "coder:all"
|
|
APIKeyScopeCoderApikeysManageSelf APIKeyScope = "coder:apikeys.manage_self"
|
|
APIKeyScopeCoderApplicationConnect APIKeyScope = "coder:application_connect"
|
|
APIKeyScopeCoderTemplatesAuthor APIKeyScope = "coder:templates.author"
|
|
APIKeyScopeCoderTemplatesBuild APIKeyScope = "coder:templates.build"
|
|
APIKeyScopeCoderWorkspacesAccess APIKeyScope = "coder:workspaces.access"
|
|
APIKeyScopeCoderWorkspacesCreate APIKeyScope = "coder:workspaces.create"
|
|
APIKeyScopeCoderWorkspacesDelete APIKeyScope = "coder:workspaces.delete"
|
|
APIKeyScopeCoderWorkspacesOperate APIKeyScope = "coder:workspaces.operate"
|
|
APIKeyScopeConnectionLogAll APIKeyScope = "connection_log:*"
|
|
APIKeyScopeConnectionLogRead APIKeyScope = "connection_log:read"
|
|
APIKeyScopeConnectionLogUpdate APIKeyScope = "connection_log:update"
|
|
APIKeyScopeCryptoKeyAll APIKeyScope = "crypto_key:*"
|
|
APIKeyScopeCryptoKeyCreate APIKeyScope = "crypto_key:create"
|
|
APIKeyScopeCryptoKeyDelete APIKeyScope = "crypto_key:delete"
|
|
APIKeyScopeCryptoKeyRead APIKeyScope = "crypto_key:read"
|
|
APIKeyScopeCryptoKeyUpdate APIKeyScope = "crypto_key:update"
|
|
APIKeyScopeDebugInfoAll APIKeyScope = "debug_info:*"
|
|
APIKeyScopeDebugInfoRead APIKeyScope = "debug_info:read"
|
|
APIKeyScopeDeploymentConfigAll APIKeyScope = "deployment_config:*"
|
|
APIKeyScopeDeploymentConfigRead APIKeyScope = "deployment_config:read"
|
|
APIKeyScopeDeploymentConfigUpdate APIKeyScope = "deployment_config:update"
|
|
APIKeyScopeDeploymentStatsAll APIKeyScope = "deployment_stats:*"
|
|
APIKeyScopeDeploymentStatsRead APIKeyScope = "deployment_stats:read"
|
|
APIKeyScopeFileAll APIKeyScope = "file:*"
|
|
APIKeyScopeFileCreate APIKeyScope = "file:create"
|
|
APIKeyScopeFileRead APIKeyScope = "file:read"
|
|
APIKeyScopeGroupAll APIKeyScope = "group:*"
|
|
APIKeyScopeGroupCreate APIKeyScope = "group:create"
|
|
APIKeyScopeGroupDelete APIKeyScope = "group:delete"
|
|
APIKeyScopeGroupRead APIKeyScope = "group:read"
|
|
APIKeyScopeGroupUpdate APIKeyScope = "group:update"
|
|
APIKeyScopeGroupMemberAll APIKeyScope = "group_member:*"
|
|
APIKeyScopeGroupMemberRead APIKeyScope = "group_member:read"
|
|
APIKeyScopeIdpsyncSettingsAll APIKeyScope = "idpsync_settings:*"
|
|
APIKeyScopeIdpsyncSettingsRead APIKeyScope = "idpsync_settings:read"
|
|
APIKeyScopeIdpsyncSettingsUpdate APIKeyScope = "idpsync_settings:update"
|
|
APIKeyScopeInboxNotificationAll APIKeyScope = "inbox_notification:*"
|
|
APIKeyScopeInboxNotificationCreate APIKeyScope = "inbox_notification:create"
|
|
APIKeyScopeInboxNotificationRead APIKeyScope = "inbox_notification:read"
|
|
APIKeyScopeInboxNotificationUpdate APIKeyScope = "inbox_notification:update"
|
|
APIKeyScopeLicenseAll APIKeyScope = "license:*"
|
|
APIKeyScopeLicenseCreate APIKeyScope = "license:create"
|
|
APIKeyScopeLicenseDelete APIKeyScope = "license:delete"
|
|
APIKeyScopeLicenseRead APIKeyScope = "license:read"
|
|
APIKeyScopeMcpServerConfigAll APIKeyScope = "mcp_server_config:*"
|
|
APIKeyScopeMcpServerConfigCreate APIKeyScope = "mcp_server_config:create"
|
|
APIKeyScopeMcpServerConfigDelete APIKeyScope = "mcp_server_config:delete"
|
|
APIKeyScopeMcpServerConfigRead APIKeyScope = "mcp_server_config:read"
|
|
APIKeyScopeMcpServerConfigShare APIKeyScope = "mcp_server_config:share"
|
|
APIKeyScopeMcpServerConfigUpdate APIKeyScope = "mcp_server_config:update"
|
|
APIKeyScopeNotificationMessageAll APIKeyScope = "notification_message:*"
|
|
APIKeyScopeNotificationMessageCreate APIKeyScope = "notification_message:create"
|
|
APIKeyScopeNotificationMessageDelete APIKeyScope = "notification_message:delete"
|
|
APIKeyScopeNotificationMessageRead APIKeyScope = "notification_message:read"
|
|
APIKeyScopeNotificationMessageUpdate APIKeyScope = "notification_message:update"
|
|
APIKeyScopeNotificationPreferenceAll APIKeyScope = "notification_preference:*"
|
|
APIKeyScopeNotificationPreferenceRead APIKeyScope = "notification_preference:read"
|
|
APIKeyScopeNotificationPreferenceUpdate APIKeyScope = "notification_preference:update"
|
|
APIKeyScopeNotificationTemplateAll APIKeyScope = "notification_template:*"
|
|
APIKeyScopeNotificationTemplateRead APIKeyScope = "notification_template:read"
|
|
APIKeyScopeNotificationTemplateUpdate APIKeyScope = "notification_template:update"
|
|
APIKeyScopeOauth2AppAll APIKeyScope = "oauth2_app:*"
|
|
APIKeyScopeOauth2AppCreate APIKeyScope = "oauth2_app:create"
|
|
APIKeyScopeOauth2AppDelete APIKeyScope = "oauth2_app:delete"
|
|
APIKeyScopeOauth2AppRead APIKeyScope = "oauth2_app:read"
|
|
APIKeyScopeOauth2AppUpdate APIKeyScope = "oauth2_app:update"
|
|
APIKeyScopeOauth2AppCodeTokenAll APIKeyScope = "oauth2_app_code_token:*"
|
|
APIKeyScopeOauth2AppCodeTokenCreate APIKeyScope = "oauth2_app_code_token:create"
|
|
APIKeyScopeOauth2AppCodeTokenDelete APIKeyScope = "oauth2_app_code_token:delete"
|
|
APIKeyScopeOauth2AppCodeTokenRead APIKeyScope = "oauth2_app_code_token:read"
|
|
APIKeyScopeOauth2AppSecretAll APIKeyScope = "oauth2_app_secret:*"
|
|
APIKeyScopeOauth2AppSecretCreate APIKeyScope = "oauth2_app_secret:create"
|
|
APIKeyScopeOauth2AppSecretDelete APIKeyScope = "oauth2_app_secret:delete"
|
|
APIKeyScopeOauth2AppSecretRead APIKeyScope = "oauth2_app_secret:read"
|
|
APIKeyScopeOauth2AppSecretUpdate APIKeyScope = "oauth2_app_secret:update"
|
|
APIKeyScopeOrganizationAll APIKeyScope = "organization:*"
|
|
APIKeyScopeOrganizationCreate APIKeyScope = "organization:create"
|
|
APIKeyScopeOrganizationDelete APIKeyScope = "organization:delete"
|
|
APIKeyScopeOrganizationRead APIKeyScope = "organization:read"
|
|
APIKeyScopeOrganizationUpdate APIKeyScope = "organization:update"
|
|
APIKeyScopeOrganizationMemberAll APIKeyScope = "organization_member:*"
|
|
APIKeyScopeOrganizationMemberCreate APIKeyScope = "organization_member:create"
|
|
APIKeyScopeOrganizationMemberDelete APIKeyScope = "organization_member:delete"
|
|
APIKeyScopeOrganizationMemberRead APIKeyScope = "organization_member:read"
|
|
APIKeyScopeOrganizationMemberUpdate APIKeyScope = "organization_member:update"
|
|
APIKeyScopePrebuiltWorkspaceAll APIKeyScope = "prebuilt_workspace:*"
|
|
APIKeyScopePrebuiltWorkspaceDelete APIKeyScope = "prebuilt_workspace:delete"
|
|
APIKeyScopePrebuiltWorkspaceUpdate APIKeyScope = "prebuilt_workspace:update"
|
|
APIKeyScopeProvisionerDaemonAll APIKeyScope = "provisioner_daemon:*"
|
|
APIKeyScopeProvisionerDaemonCreate APIKeyScope = "provisioner_daemon:create"
|
|
APIKeyScopeProvisionerDaemonDelete APIKeyScope = "provisioner_daemon:delete"
|
|
APIKeyScopeProvisionerDaemonRead APIKeyScope = "provisioner_daemon:read"
|
|
APIKeyScopeProvisionerDaemonUpdate APIKeyScope = "provisioner_daemon:update"
|
|
APIKeyScopeProvisionerJobsAll APIKeyScope = "provisioner_jobs:*"
|
|
APIKeyScopeProvisionerJobsCreate APIKeyScope = "provisioner_jobs:create"
|
|
APIKeyScopeProvisionerJobsRead APIKeyScope = "provisioner_jobs:read"
|
|
APIKeyScopeProvisionerJobsUpdate APIKeyScope = "provisioner_jobs:update"
|
|
APIKeyScopeReplicasAll APIKeyScope = "replicas:*"
|
|
APIKeyScopeReplicasRead APIKeyScope = "replicas:read"
|
|
APIKeyScopeSystemAll APIKeyScope = "system:*"
|
|
APIKeyScopeSystemCreate APIKeyScope = "system:create"
|
|
APIKeyScopeSystemDelete APIKeyScope = "system:delete"
|
|
APIKeyScopeSystemRead APIKeyScope = "system:read"
|
|
APIKeyScopeSystemUpdate APIKeyScope = "system:update"
|
|
APIKeyScopeTailnetCoordinatorAll APIKeyScope = "tailnet_coordinator:*"
|
|
APIKeyScopeTailnetCoordinatorCreate APIKeyScope = "tailnet_coordinator:create"
|
|
APIKeyScopeTailnetCoordinatorDelete APIKeyScope = "tailnet_coordinator:delete"
|
|
APIKeyScopeTailnetCoordinatorRead APIKeyScope = "tailnet_coordinator:read"
|
|
APIKeyScopeTailnetCoordinatorUpdate APIKeyScope = "tailnet_coordinator:update"
|
|
APIKeyScopeTaskAll APIKeyScope = "task:*"
|
|
APIKeyScopeTaskCreate APIKeyScope = "task:create"
|
|
APIKeyScopeTaskDelete APIKeyScope = "task:delete"
|
|
APIKeyScopeTaskRead APIKeyScope = "task:read"
|
|
APIKeyScopeTaskUpdate APIKeyScope = "task:update"
|
|
APIKeyScopeTemplateAll APIKeyScope = "template:*"
|
|
APIKeyScopeTemplateCreate APIKeyScope = "template:create"
|
|
APIKeyScopeTemplateDelete APIKeyScope = "template:delete"
|
|
APIKeyScopeTemplateRead APIKeyScope = "template:read"
|
|
APIKeyScopeTemplateUpdate APIKeyScope = "template:update"
|
|
APIKeyScopeTemplateUse APIKeyScope = "template:use"
|
|
APIKeyScopeTemplateViewInsights APIKeyScope = "template:view_insights"
|
|
APIKeyScopeUsageEventAll APIKeyScope = "usage_event:*"
|
|
APIKeyScopeUsageEventCreate APIKeyScope = "usage_event:create"
|
|
APIKeyScopeUsageEventRead APIKeyScope = "usage_event:read"
|
|
APIKeyScopeUsageEventUpdate APIKeyScope = "usage_event:update"
|
|
APIKeyScopeUserAll APIKeyScope = "user:*"
|
|
APIKeyScopeUserCreate APIKeyScope = "user:create"
|
|
APIKeyScopeUserDelete APIKeyScope = "user:delete"
|
|
APIKeyScopeUserRead APIKeyScope = "user:read"
|
|
APIKeyScopeUserReadPersonal APIKeyScope = "user:read_personal"
|
|
APIKeyScopeUserUpdate APIKeyScope = "user:update"
|
|
APIKeyScopeUserUpdatePersonal APIKeyScope = "user:update_personal"
|
|
APIKeyScopeUserSecretAll APIKeyScope = "user_secret:*"
|
|
APIKeyScopeUserSecretCreate APIKeyScope = "user_secret:create"
|
|
APIKeyScopeUserSecretDelete APIKeyScope = "user_secret:delete"
|
|
APIKeyScopeUserSecretRead APIKeyScope = "user_secret:read"
|
|
APIKeyScopeUserSecretUpdate APIKeyScope = "user_secret:update"
|
|
APIKeyScopeUserSkillAll APIKeyScope = "user_skill:*"
|
|
APIKeyScopeUserSkillCreate APIKeyScope = "user_skill:create"
|
|
APIKeyScopeUserSkillDelete APIKeyScope = "user_skill:delete"
|
|
APIKeyScopeUserSkillRead APIKeyScope = "user_skill:read"
|
|
APIKeyScopeUserSkillUpdate APIKeyScope = "user_skill:update"
|
|
APIKeyScopeWebpushSubscriptionAll APIKeyScope = "webpush_subscription:*"
|
|
APIKeyScopeWebpushSubscriptionCreate APIKeyScope = "webpush_subscription:create"
|
|
APIKeyScopeWebpushSubscriptionDelete APIKeyScope = "webpush_subscription:delete"
|
|
APIKeyScopeWebpushSubscriptionRead APIKeyScope = "webpush_subscription:read"
|
|
APIKeyScopeWorkspaceAll APIKeyScope = "workspace:*"
|
|
APIKeyScopeWorkspaceApplicationConnect APIKeyScope = "workspace:application_connect"
|
|
APIKeyScopeWorkspaceCreate APIKeyScope = "workspace:create"
|
|
APIKeyScopeWorkspaceCreateAgent APIKeyScope = "workspace:create_agent"
|
|
APIKeyScopeWorkspaceDelete APIKeyScope = "workspace:delete"
|
|
APIKeyScopeWorkspaceDeleteAgent APIKeyScope = "workspace:delete_agent"
|
|
APIKeyScopeWorkspaceRead APIKeyScope = "workspace:read"
|
|
APIKeyScopeWorkspaceShare APIKeyScope = "workspace:share"
|
|
APIKeyScopeWorkspaceSsh APIKeyScope = "workspace:ssh"
|
|
APIKeyScopeWorkspaceStart APIKeyScope = "workspace:start"
|
|
APIKeyScopeWorkspaceStop APIKeyScope = "workspace:stop"
|
|
APIKeyScopeWorkspaceUpdate APIKeyScope = "workspace:update"
|
|
APIKeyScopeWorkspaceUpdateAgent APIKeyScope = "workspace:update_agent"
|
|
APIKeyScopeWorkspaceAgentDevcontainersAll APIKeyScope = "workspace_agent_devcontainers:*"
|
|
APIKeyScopeWorkspaceAgentDevcontainersCreate APIKeyScope = "workspace_agent_devcontainers:create"
|
|
APIKeyScopeWorkspaceAgentResourceMonitorAll APIKeyScope = "workspace_agent_resource_monitor:*"
|
|
APIKeyScopeWorkspaceAgentResourceMonitorCreate APIKeyScope = "workspace_agent_resource_monitor:create"
|
|
APIKeyScopeWorkspaceAgentResourceMonitorRead APIKeyScope = "workspace_agent_resource_monitor:read"
|
|
APIKeyScopeWorkspaceAgentResourceMonitorUpdate APIKeyScope = "workspace_agent_resource_monitor:update"
|
|
APIKeyScopeWorkspaceBuildOrchestrationAll APIKeyScope = "workspace_build_orchestration:*"
|
|
APIKeyScopeWorkspaceBuildOrchestrationCreate APIKeyScope = "workspace_build_orchestration:create"
|
|
APIKeyScopeWorkspaceBuildOrchestrationDelete APIKeyScope = "workspace_build_orchestration:delete"
|
|
APIKeyScopeWorkspaceBuildOrchestrationRead APIKeyScope = "workspace_build_orchestration:read"
|
|
APIKeyScopeWorkspaceBuildOrchestrationUpdate APIKeyScope = "workspace_build_orchestration:update"
|
|
APIKeyScopeWorkspaceDormantAll APIKeyScope = "workspace_dormant:*"
|
|
APIKeyScopeWorkspaceDormantApplicationConnect APIKeyScope = "workspace_dormant:application_connect"
|
|
APIKeyScopeWorkspaceDormantCreate APIKeyScope = "workspace_dormant:create"
|
|
APIKeyScopeWorkspaceDormantCreateAgent APIKeyScope = "workspace_dormant:create_agent"
|
|
APIKeyScopeWorkspaceDormantDelete APIKeyScope = "workspace_dormant:delete"
|
|
APIKeyScopeWorkspaceDormantDeleteAgent APIKeyScope = "workspace_dormant:delete_agent"
|
|
APIKeyScopeWorkspaceDormantRead APIKeyScope = "workspace_dormant:read"
|
|
APIKeyScopeWorkspaceDormantShare APIKeyScope = "workspace_dormant:share"
|
|
APIKeyScopeWorkspaceDormantSsh APIKeyScope = "workspace_dormant:ssh"
|
|
APIKeyScopeWorkspaceDormantStart APIKeyScope = "workspace_dormant:start"
|
|
APIKeyScopeWorkspaceDormantStop APIKeyScope = "workspace_dormant:stop"
|
|
APIKeyScopeWorkspaceDormantUpdate APIKeyScope = "workspace_dormant:update"
|
|
APIKeyScopeWorkspaceDormantUpdateAgent APIKeyScope = "workspace_dormant:update_agent"
|
|
APIKeyScopeWorkspaceProxyAll APIKeyScope = "workspace_proxy:*"
|
|
APIKeyScopeWorkspaceProxyCreate APIKeyScope = "workspace_proxy:create"
|
|
APIKeyScopeWorkspaceProxyDelete APIKeyScope = "workspace_proxy:delete"
|
|
APIKeyScopeWorkspaceProxyRead APIKeyScope = "workspace_proxy:read"
|
|
APIKeyScopeWorkspaceProxyUpdate APIKeyScope = "workspace_proxy:update"
|
|
)
|
|
|
|
// PublicAPIKeyScopes lists all public low-level API key scopes.
|
|
var PublicAPIKeyScopes = []APIKeyScope{
|
|
APIKeyScopeApiKeyAll,
|
|
APIKeyScopeApiKeyCreate,
|
|
APIKeyScopeApiKeyDelete,
|
|
APIKeyScopeApiKeyRead,
|
|
APIKeyScopeApiKeyUpdate,
|
|
APIKeyScopeCoderAll,
|
|
APIKeyScopeCoderApikeysManageSelf,
|
|
APIKeyScopeCoderApplicationConnect,
|
|
APIKeyScopeCoderTemplatesAuthor,
|
|
APIKeyScopeCoderTemplatesBuild,
|
|
APIKeyScopeCoderWorkspacesAccess,
|
|
APIKeyScopeCoderWorkspacesCreate,
|
|
APIKeyScopeCoderWorkspacesDelete,
|
|
APIKeyScopeCoderWorkspacesOperate,
|
|
APIKeyScopeFileAll,
|
|
APIKeyScopeFileCreate,
|
|
APIKeyScopeFileRead,
|
|
APIKeyScopeOrganizationAll,
|
|
APIKeyScopeOrganizationDelete,
|
|
APIKeyScopeOrganizationRead,
|
|
APIKeyScopeOrganizationUpdate,
|
|
APIKeyScopeTaskAll,
|
|
APIKeyScopeTaskCreate,
|
|
APIKeyScopeTaskDelete,
|
|
APIKeyScopeTaskRead,
|
|
APIKeyScopeTaskUpdate,
|
|
APIKeyScopeTemplateAll,
|
|
APIKeyScopeTemplateCreate,
|
|
APIKeyScopeTemplateDelete,
|
|
APIKeyScopeTemplateRead,
|
|
APIKeyScopeTemplateUpdate,
|
|
APIKeyScopeTemplateUse,
|
|
APIKeyScopeUserAll,
|
|
APIKeyScopeUserRead,
|
|
APIKeyScopeUserReadPersonal,
|
|
APIKeyScopeUserUpdatePersonal,
|
|
APIKeyScopeUserSecretAll,
|
|
APIKeyScopeUserSecretCreate,
|
|
APIKeyScopeUserSecretDelete,
|
|
APIKeyScopeUserSecretRead,
|
|
APIKeyScopeUserSecretUpdate,
|
|
APIKeyScopeUserSkillAll,
|
|
APIKeyScopeUserSkillCreate,
|
|
APIKeyScopeUserSkillDelete,
|
|
APIKeyScopeUserSkillRead,
|
|
APIKeyScopeUserSkillUpdate,
|
|
APIKeyScopeWorkspaceAll,
|
|
APIKeyScopeWorkspaceApplicationConnect,
|
|
APIKeyScopeWorkspaceCreate,
|
|
APIKeyScopeWorkspaceDelete,
|
|
APIKeyScopeWorkspaceRead,
|
|
APIKeyScopeWorkspaceSsh,
|
|
APIKeyScopeWorkspaceStart,
|
|
APIKeyScopeWorkspaceStop,
|
|
APIKeyScopeWorkspaceUpdate,
|
|
}
|