@gitpod/sdk
Version:
Public TypeScript SDK for Ona.
1,408 lines • 126 kB
TypeScript
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import type { CountRequest, CountResponse } from "./count_pb";
import type { AutomationTrigger } from "./environment_automation_pb";
import type { Subject } from "./identity_pb";
import type { PaginationRequest, PaginationResponse, SortOrder } from "./pagination_pb";
import type { ListEnvironmentClassesRequestSchema, ListEnvironmentClassesResponseSchema, RunnerKind } from "./runner_configuration_pb";
import type { Secret_CredentialProxy, Secret_Source } from "./secret_pb";
import type { Duration, Timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file gitpod/v1/environment.proto.
*/
export declare const file_gitpod_v1_environment: GenFile;
/**
* @generated from message gitpod.v1.MarkEnvironmentActiveRequest
*/
export type MarkEnvironmentActiveRequest = Message<"gitpod.v1.MarkEnvironmentActiveRequest"> & {
/**
* The ID of the environment to update activity for.
*
* @generated from field: string environment_id = 1;
*/
environmentId: string;
/**
* activity_signal specifies the activity.
*
* @generated from field: gitpod.v1.EnvironmentActivitySignal activity_signal = 2;
*/
activitySignal?: EnvironmentActivitySignal;
};
/**
* Describes the message gitpod.v1.MarkEnvironmentActiveRequest.
* Use `create(MarkEnvironmentActiveRequestSchema)` to create a new message.
*/
export declare const MarkEnvironmentActiveRequestSchema: GenMessage<MarkEnvironmentActiveRequest>;
/**
* EnvironmentActivitySignal used to signal activity for an environment.
*
* @generated from message gitpod.v1.EnvironmentActivitySignal
*/
export type EnvironmentActivitySignal = Message<"gitpod.v1.EnvironmentActivitySignal"> & {
/**
* source of the activity signal, such as "VS Code", "SSH", or "Automations".
* It should be a human-readable string that describes the source of the activity signal.
*
* @generated from field: string source = 1;
*/
source: string;
/**
* timestamp of when the activity was observed by the source.
* Only reported every 5 minutes.
* Zero value means no activity was observed.
*
* @generated from field: google.protobuf.Timestamp timestamp = 2;
*/
timestamp?: Timestamp;
};
/**
* Describes the message gitpod.v1.EnvironmentActivitySignal.
* Use `create(EnvironmentActivitySignalSchema)` to create a new message.
*/
export declare const EnvironmentActivitySignalSchema: GenMessage<EnvironmentActivitySignal>;
/**
* @generated from message gitpod.v1.MarkEnvironmentActiveResponse
*/
export type MarkEnvironmentActiveResponse = Message<"gitpod.v1.MarkEnvironmentActiveResponse"> & {};
/**
* Describes the message gitpod.v1.MarkEnvironmentActiveResponse.
* Use `create(MarkEnvironmentActiveResponseSchema)` to create a new message.
*/
export declare const MarkEnvironmentActiveResponseSchema: GenMessage<MarkEnvironmentActiveResponse>;
/**
* @generated from message gitpod.v1.GetEnvironmentRequest
*/
export type GetEnvironmentRequest = Message<"gitpod.v1.GetEnvironmentRequest"> & {
/**
* environment_id specifies the environment to get
*
* @generated from field: string environment_id = 1;
*/
environmentId: string;
};
/**
* Describes the message gitpod.v1.GetEnvironmentRequest.
* Use `create(GetEnvironmentRequestSchema)` to create a new message.
*/
export declare const GetEnvironmentRequestSchema: GenMessage<GetEnvironmentRequest>;
/**
* @generated from message gitpod.v1.GetEnvironmentResponse
*/
export type GetEnvironmentResponse = Message<"gitpod.v1.GetEnvironmentResponse"> & {
/**
* @generated from field: gitpod.v1.Environment environment = 1;
*/
environment?: Environment;
};
/**
* Describes the message gitpod.v1.GetEnvironmentResponse.
* Use `create(GetEnvironmentResponseSchema)` to create a new message.
*/
export declare const GetEnvironmentResponseSchema: GenMessage<GetEnvironmentResponse>;
/**
* @generated from message gitpod.v1.ListEnvironmentsRequest
*/
export type ListEnvironmentsRequest = Message<"gitpod.v1.ListEnvironmentsRequest"> & {
/**
* pagination contains the pagination options for listing environments
*
* @generated from field: gitpod.v1.PaginationRequest pagination = 1;
*/
pagination?: PaginationRequest;
/**
* @generated from field: gitpod.v1.ListEnvironmentsRequest.Filter filter = 3;
*/
filter?: ListEnvironmentsRequest_Filter;
/**
* count controls whether the response includes a bounded total count.
*
* @generated from field: gitpod.v1.CountRequest count = 4;
*/
count?: CountRequest;
/**
* sort specifies the order of results. When unspecified, environments are sorted by ID descending.
*
* @generated from field: gitpod.v1.ListEnvironmentsRequest.Sort sort = 5;
*/
sort?: ListEnvironmentsRequest_Sort;
};
/**
* Describes the message gitpod.v1.ListEnvironmentsRequest.
* Use `create(ListEnvironmentsRequestSchema)` to create a new message.
*/
export declare const ListEnvironmentsRequestSchema: GenMessage<ListEnvironmentsRequest>;
/**
* @generated from message gitpod.v1.ListEnvironmentsRequest.Sort
*/
export type ListEnvironmentsRequest_Sort = Message<"gitpod.v1.ListEnvironmentsRequest.Sort"> & {
/**
* @generated from field: gitpod.v1.ListEnvironmentsRequest.SortField field = 1;
*/
field: ListEnvironmentsRequest_SortField;
/**
* @generated from field: gitpod.v1.SortOrder order = 2;
*/
order: SortOrder;
};
/**
* Describes the message gitpod.v1.ListEnvironmentsRequest.Sort.
* Use `create(ListEnvironmentsRequest_SortSchema)` to create a new message.
*/
export declare const ListEnvironmentsRequest_SortSchema: GenMessage<ListEnvironmentsRequest_Sort>;
/**
* @generated from message gitpod.v1.ListEnvironmentsRequest.Filter
*/
export type ListEnvironmentsRequest_Filter = Message<"gitpod.v1.ListEnvironmentsRequest.Filter"> & {
/**
* runner_ids filters the response to only Environments running on these Runner IDs
*
* @generated from field: repeated string runner_ids = 1;
*/
runnerIds: string[];
/**
* actual_phases is a list of phases the environment must be in for it to be returned in the API call
*
* @generated from field: repeated gitpod.v1.EnvironmentPhase status_phases = 2;
*/
statusPhases: EnvironmentPhase[];
/**
* creator_ids filters the response to only Environments created by specified members
*
* @generated from field: repeated string creator_ids = 3;
*/
creatorIds: string[];
/**
* project_ids filters the response to only Environments associated with the specified projects
*
* @generated from field: repeated string project_ids = 4;
*/
projectIds: string[];
/**
* runner_kinds filters the response to only Environments running on these Runner Kinds
*
* @generated from field: repeated gitpod.v1.RunnerKind runner_kinds = 5;
*/
runnerKinds: RunnerKind[];
/**
* archival_status filters the response based on environment archive status
*
* @generated from field: optional gitpod.v1.ListEnvironmentsRequest.ArchivalStatus archival_status = 6;
*/
archivalStatus?: ListEnvironmentsRequest_ArchivalStatus;
/**
* created_before filters environments created before this timestamp
*
* @generated from field: optional google.protobuf.Timestamp created_before = 7;
*/
createdBefore?: Timestamp;
/**
* roles filters the response to only Environments with the specified roles
*
* @generated from field: repeated gitpod.v1.EnvironmentRole roles = 8;
*/
roles: EnvironmentRole[];
/**
* lockdown_before filters environments whose lockdown_at is before this timestamp.
* Only environments with lockdown_at set are matched.
*
* @generated from field: optional google.protobuf.Timestamp lockdown_before = 10;
*/
lockdownBefore?: Timestamp;
/**
* search performs case-insensitive search across environment ID, name, repository URL, and branch
*
* @generated from field: string search = 11;
*/
search: string;
/**
* session_ids filters the response to only environments belonging to the specified sessions
*
* @generated from field: repeated string session_ids = 12;
*/
sessionIds: string[];
};
/**
* Describes the message gitpod.v1.ListEnvironmentsRequest.Filter.
* Use `create(ListEnvironmentsRequest_FilterSchema)` to create a new message.
*/
export declare const ListEnvironmentsRequest_FilterSchema: GenMessage<ListEnvironmentsRequest_Filter>;
/**
* @generated from enum gitpod.v1.ListEnvironmentsRequest.ArchivalStatus
*/
export declare enum ListEnvironmentsRequest_ArchivalStatus {
/**
* @generated from enum value: ARCHIVAL_STATUS_UNSPECIFIED = 0;
*/
UNSPECIFIED = 0,
/**
* @generated from enum value: ARCHIVAL_STATUS_ACTIVE = 1;
*/
ACTIVE = 1,
/**
* @generated from enum value: ARCHIVAL_STATUS_ARCHIVED = 2;
*/
ARCHIVED = 2,
/**
* @generated from enum value: ARCHIVAL_STATUS_ALL = 3;
*/
ALL = 3
}
/**
* Describes the enum gitpod.v1.ListEnvironmentsRequest.ArchivalStatus.
*/
export declare const ListEnvironmentsRequest_ArchivalStatusSchema: GenEnum<ListEnvironmentsRequest_ArchivalStatus>;
/**
* @generated from enum gitpod.v1.ListEnvironmentsRequest.SortField
*/
export declare enum ListEnvironmentsRequest_SortField {
/**
* @generated from enum value: SORT_FIELD_UNSPECIFIED = 0;
*/
UNSPECIFIED = 0,
/**
* Sort by environment ID.
*
* @generated from enum value: SORT_FIELD_ID = 1;
*/
ID = 1,
/**
* Sort by the time the environment was archived.
*
* @generated from enum value: SORT_FIELD_ARCHIVED_AT = 2;
*/
ARCHIVED_AT = 2
}
/**
* Describes the enum gitpod.v1.ListEnvironmentsRequest.SortField.
*/
export declare const ListEnvironmentsRequest_SortFieldSchema: GenEnum<ListEnvironmentsRequest_SortField>;
/**
* @generated from message gitpod.v1.ListEnvironmentsResponse
*/
export type ListEnvironmentsResponse = Message<"gitpod.v1.ListEnvironmentsResponse"> & {
/**
* pagination contains the pagination options for listing environments
*
* @generated from field: gitpod.v1.PaginationResponse pagination = 1;
*/
pagination?: PaginationResponse;
/**
* environments are the environments that matched the query
*
* @generated from field: repeated gitpod.v1.Environment environments = 2;
*/
environments: Environment[];
/**
* count is the bounded total count of matching environments, present only
* when requested via CountRequest.include on the first page.
*
* @generated from field: gitpod.v1.CountResponse count = 3;
*/
count?: CountResponse;
};
/**
* Describes the message gitpod.v1.ListEnvironmentsResponse.
* Use `create(ListEnvironmentsResponseSchema)` to create a new message.
*/
export declare const ListEnvironmentsResponseSchema: GenMessage<ListEnvironmentsResponse>;
/**
* Required fields:
* - metadata.organization_id
* - metadata.configuration_id
*
* @generated from message gitpod.v1.CreateEnvironmentRequest
*/
export type CreateEnvironmentRequest = Message<"gitpod.v1.CreateEnvironmentRequest"> & {
/**
* spec is the configuration of the environment that's required for the to
* start the environment
*
* @generated from field: gitpod.v1.EnvironmentSpec spec = 1;
*/
spec?: EnvironmentSpec;
/**
* name is a user-defined identifier for the environment.
* If not specified, the system will generate a name.
*
* @generated from field: optional string name = 2;
*/
name?: string;
/**
* session_id is the ID of the session this environment belongs to.
* If empty, a new session is created implicitly.
*
* @generated from field: string session_id = 3;
*/
sessionId: string;
/**
* annotations are key/value pairs attached to the environment metadata.
*
* @generated from field: map<string, string> annotations = 4;
*/
annotations: {
[key: string]: string;
};
};
/**
* Describes the message gitpod.v1.CreateEnvironmentRequest.
* Use `create(CreateEnvironmentRequestSchema)` to create a new message.
*/
export declare const CreateEnvironmentRequestSchema: GenMessage<CreateEnvironmentRequest>;
/**
* @generated from message gitpod.v1.CreateEnvironmentResponse
*/
export type CreateEnvironmentResponse = Message<"gitpod.v1.CreateEnvironmentResponse"> & {
/**
* @generated from field: gitpod.v1.Environment environment = 1;
*/
environment?: Environment;
};
/**
* Describes the message gitpod.v1.CreateEnvironmentResponse.
* Use `create(CreateEnvironmentResponseSchema)` to create a new message.
*/
export declare const CreateEnvironmentResponseSchema: GenMessage<CreateEnvironmentResponse>;
/**
* @generated from message gitpod.v1.CreateEnvironmentFromProjectRequest
*/
export type CreateEnvironmentFromProjectRequest = Message<"gitpod.v1.CreateEnvironmentFromProjectRequest"> & {
/**
* @generated from field: string project_id = 1;
*/
projectId: string;
/**
* Spec is the configuration of the environment that's required for the
* runner to start the environment
* Configuration already defined in the Project will override parts of the spec, if set
*
* @generated from field: gitpod.v1.EnvironmentSpec spec = 3;
*/
spec?: EnvironmentSpec;
/**
* name is a user-defined identifier for the environment.
* If not specified, the system will generate a name.
*
* @generated from field: optional string name = 4;
*/
name?: string;
/**
* annotations are key/value pairs attached to the environment metadata.
*
* @generated from field: map<string, string> annotations = 5;
*/
annotations: {
[key: string]: string;
};
/**
* session_id is the ID of the session this environment belongs to.
* If empty, a new session is created implicitly.
*
* @generated from field: string session_id = 6;
*/
sessionId: string;
};
/**
* Describes the message gitpod.v1.CreateEnvironmentFromProjectRequest.
* Use `create(CreateEnvironmentFromProjectRequestSchema)` to create a new message.
*/
export declare const CreateEnvironmentFromProjectRequestSchema: GenMessage<CreateEnvironmentFromProjectRequest>;
/**
* @generated from message gitpod.v1.CreateEnvironmentFromProjectResponse
*/
export type CreateEnvironmentFromProjectResponse = Message<"gitpod.v1.CreateEnvironmentFromProjectResponse"> & {
/**
* @generated from field: gitpod.v1.Environment environment = 1;
*/
environment?: Environment;
};
/**
* Describes the message gitpod.v1.CreateEnvironmentFromProjectResponse.
* Use `create(CreateEnvironmentFromProjectResponseSchema)` to create a new message.
*/
export declare const CreateEnvironmentFromProjectResponseSchema: GenMessage<CreateEnvironmentFromProjectResponse>;
/**
* `CreateEnvironmentPreconditionFailureDetails` contains details about why a
* `CreateEnvironment` or `CreateEnvironmentFromProject` request failed with failed_precondition.
* The `missing_authentication_tokens_for_hosts` field lists the hosts for which the required authentication tokens were missing.
*
* @generated from message gitpod.v1.CreateEnvironmentPreconditionFailureDetails
*/
export type CreateEnvironmentPreconditionFailureDetails = Message<"gitpod.v1.CreateEnvironmentPreconditionFailureDetails"> & {
/**
* @generated from field: repeated string missing_authentication_tokens_for_hosts = 1;
*/
missingAuthenticationTokensForHosts: string[];
};
/**
* Describes the message gitpod.v1.CreateEnvironmentPreconditionFailureDetails.
* Use `create(CreateEnvironmentPreconditionFailureDetailsSchema)` to create a new message.
*/
export declare const CreateEnvironmentPreconditionFailureDetailsSchema: GenMessage<CreateEnvironmentPreconditionFailureDetails>;
/**
* `CreateEnvironmentFromProjectBadRequestEnvironmentClassDetails` contains details about possible environment class IDs to use with this project.
*
* @generated from message gitpod.v1.CreateEnvironmentFromProjectBadRequestEnvironmentClassDetails
*/
export type CreateEnvironmentFromProjectBadRequestEnvironmentClassDetails = Message<"gitpod.v1.CreateEnvironmentFromProjectBadRequestEnvironmentClassDetails"> & {
/**
* environment_class_ids are the available environment class IDs to use with this project.
*
* @generated from field: repeated string environment_class_ids = 1;
*/
environmentClassIds: string[];
};
/**
* Describes the message gitpod.v1.CreateEnvironmentFromProjectBadRequestEnvironmentClassDetails.
* Use `create(CreateEnvironmentFromProjectBadRequestEnvironmentClassDetailsSchema)` to create a new message.
*/
export declare const CreateEnvironmentFromProjectBadRequestEnvironmentClassDetailsSchema: GenMessage<CreateEnvironmentFromProjectBadRequestEnvironmentClassDetails>;
/**
* @generated from message gitpod.v1.UnarchiveEnvironmentRequest
*/
export type UnarchiveEnvironmentRequest = Message<"gitpod.v1.UnarchiveEnvironmentRequest"> & {
/**
* environment_id specifies the environment to unarchive.
*
* +required
*
* @generated from field: string environment_id = 1;
*/
environmentId: string;
};
/**
* Describes the message gitpod.v1.UnarchiveEnvironmentRequest.
* Use `create(UnarchiveEnvironmentRequestSchema)` to create a new message.
*/
export declare const UnarchiveEnvironmentRequestSchema: GenMessage<UnarchiveEnvironmentRequest>;
/**
* @generated from message gitpod.v1.UnarchiveEnvironmentResponse
*/
export type UnarchiveEnvironmentResponse = Message<"gitpod.v1.UnarchiveEnvironmentResponse"> & {};
/**
* Describes the message gitpod.v1.UnarchiveEnvironmentResponse.
* Use `create(UnarchiveEnvironmentResponseSchema)` to create a new message.
*/
export declare const UnarchiveEnvironmentResponseSchema: GenMessage<UnarchiveEnvironmentResponse>;
/**
* @generated from message gitpod.v1.ArchiveEnvironmentRequest
*/
export type ArchiveEnvironmentRequest = Message<"gitpod.v1.ArchiveEnvironmentRequest"> & {
/**
* environment_id specifies the environment to archive.
*
* +required
*
* @generated from field: string environment_id = 1;
*/
environmentId: string;
};
/**
* Describes the message gitpod.v1.ArchiveEnvironmentRequest.
* Use `create(ArchiveEnvironmentRequestSchema)` to create a new message.
*/
export declare const ArchiveEnvironmentRequestSchema: GenMessage<ArchiveEnvironmentRequest>;
/**
* @generated from message gitpod.v1.ArchiveEnvironmentResponse
*/
export type ArchiveEnvironmentResponse = Message<"gitpod.v1.ArchiveEnvironmentResponse"> & {};
/**
* Describes the message gitpod.v1.ArchiveEnvironmentResponse.
* Use `create(ArchiveEnvironmentResponseSchema)` to create a new message.
*/
export declare const ArchiveEnvironmentResponseSchema: GenMessage<ArchiveEnvironmentResponse>;
/**
* +resource get environment
*
* @generated from message gitpod.v1.Environment
*/
export type Environment = Message<"gitpod.v1.Environment"> & {
/**
* ID is a unique identifier of this environment. No other environment with the
* same name must be managed by this environment manager
*
* @generated from field: string id = 1;
*/
id: string;
/**
* Metadata is data associated with this environment that's required for other
* parts of Gitpod to function
*
* @generated from field: gitpod.v1.EnvironmentMetadata metadata = 2;
*/
metadata?: EnvironmentMetadata;
/**
* Spec is the configuration of the environment that's required for the
* runner to start the environment
*
* @generated from field: gitpod.v1.EnvironmentSpec spec = 3;
*/
spec?: EnvironmentSpec;
/**
* Status is the current status of the environment
*
* @generated from field: gitpod.v1.EnvironmentStatus status = 4;
*/
status?: EnvironmentStatus;
};
/**
* Describes the message gitpod.v1.Environment.
* Use `create(EnvironmentSchema)` to create a new message.
*/
export declare const EnvironmentSchema: GenMessage<Environment>;
/**
* EnvironmentMetadata is data associated with an environment that's required for
* other parts of the system to function
*
* @generated from message gitpod.v1.EnvironmentMetadata
*/
export type EnvironmentMetadata = Message<"gitpod.v1.EnvironmentMetadata"> & {
/**
* organization_id is the ID of the organization that contains the environment
*
* @generated from field: string organization_id = 1;
*/
organizationId: string;
/**
* annotations are key/value pairs that gets attached to the environment.
* +internal - not yet implemented
*
* @generated from field: map<string, string> annotations = 2;
*/
annotations: {
[key: string]: string;
};
/**
* name is the name of the environment as specified by the user
*
* @generated from field: string name = 3;
*/
name: string;
/**
* creator is the identity of the creator of the environment
*
* @generated from field: gitpod.v1.Subject creator = 4;
*/
creator?: Subject;
/**
* original_context_url is the normalized URL from which the environment was
* created
*
* @generated from field: string original_context_url = 5;
*/
originalContextUrl: string;
/**
* Time when the Environment was created.
*
* @generated from field: google.protobuf.Timestamp created_at = 6;
*/
createdAt?: Timestamp;
/**
* If the Environment was started from a project, the project_id will reference the project.
*
* @generated from field: string project_id = 7;
*/
projectId: string;
/**
* Runner is the ID of the runner that runs this environment.
*
* @generated from field: string runner_id = 9;
*/
runnerId: string;
/**
* Time when the Environment was last started (i.e. CreateEnvironment or StartEnvironment were called).
*
* @generated from field: google.protobuf.Timestamp last_started_at = 10;
*/
lastStartedAt?: Timestamp;
/**
* Time when the Environment was archived. If not set, the environment is not archived.
*
* @generated from field: google.protobuf.Timestamp archived_at = 11;
*/
archivedAt?: Timestamp;
/**
* role is the role of the environment
*
* @generated from field: gitpod.v1.EnvironmentRole role = 12;
*/
role: EnvironmentRole;
/**
* prebuild_id is the ID of the prebuild this environment was created from.
* Only set if the environment was created from a prebuild.
*
* @generated from field: optional string prebuild_id = 13;
*/
prebuildId?: string;
/**
* lockdown_at is the time at which the environment becomes locked down due
* to the organization's maximum environment lifetime policy. Nil when no
* lifetime policy applies.
*
* @generated from field: google.protobuf.Timestamp lockdown_at = 14;
*/
lockdownAt?: Timestamp;
/**
* session_id is the ID of the session this environment belongs to.
*
* @generated from field: string session_id = 15;
*/
sessionId: string;
};
/**
* Describes the message gitpod.v1.EnvironmentMetadata.
* Use `create(EnvironmentMetadataSchema)` to create a new message.
*/
export declare const EnvironmentMetadataSchema: GenMessage<EnvironmentMetadata>;
/**
* VetoFilePathEntry defines one path-based file policy entry.
*
* @generated from message gitpod.v1.VetoFilePathEntry
*/
export type VetoFilePathEntry = Message<"gitpod.v1.VetoFilePathEntry"> & {
/**
* path is the absolute file path to match.
*
* @generated from field: string path = 1;
*/
path: string;
/**
* surface specifies which file operation classes this entry targets.
* UNSPECIFIED inherits from the policy default.
*
* @generated from field: gitpod.v1.VetoFileSurface surface = 2;
*/
surface: VetoFileSurface;
/**
* effect specifies whether selected operations are blocked or audited.
* UNSPECIFIED inherits from the policy default.
*
* @generated from field: gitpod.v1.KernelControlsAction effect = 3;
*/
effect: KernelControlsAction;
/**
* track_changes enables WATCH_* responder-refresh events for this entry.
*
* @generated from field: bool track_changes = 4;
*/
trackChanges: boolean;
};
/**
* Describes the message gitpod.v1.VetoFilePathEntry.
* Use `create(VetoFilePathEntrySchema)` to create a new message.
*/
export declare const VetoFilePathEntrySchema: GenMessage<VetoFilePathEntry>;
/**
* VetoFilePathPolicy defines path-based file-content access control.
*
* @generated from message gitpod.v1.VetoFilePathPolicy
*/
export type VetoFilePathPolicy = Message<"gitpod.v1.VetoFilePathPolicy"> & {
/**
* entries is the list of per-path file policies.
*
* @generated from field: repeated gitpod.v1.VetoFilePathEntry entries = 1;
*/
entries: VetoFilePathEntry[];
/**
* default_surface is used when an entry surface is UNSPECIFIED. UNSPECIFIED defaults to ACCESS.
*
* @generated from field: gitpod.v1.VetoFileSurface default_surface = 2;
*/
defaultSurface: VetoFileSurface;
/**
* default_effect is used when an entry effect is UNSPECIFIED. UNSPECIFIED defaults to BLOCK.
*
* @generated from field: gitpod.v1.KernelControlsAction default_effect = 3;
*/
defaultEffect: KernelControlsAction;
};
/**
* Describes the message gitpod.v1.VetoFilePathPolicy.
* Use `create(VetoFilePathPolicySchema)` to create a new message.
*/
export declare const VetoFilePathPolicySchema: GenMessage<VetoFilePathPolicy>;
/**
* VetoFileBlockDevicesPolicy defines block-device open control.
*
* @generated from message gitpod.v1.VetoFileBlockDevicesPolicy
*/
export type VetoFileBlockDevicesPolicy = Message<"gitpod.v1.VetoFileBlockDevicesPolicy"> & {
/**
* enabled controls whether opening block devices is denied or audited.
*
* @generated from field: bool enabled = 1;
*/
enabled: boolean;
/**
* action specifies how block-device open violations are handled. UNSPECIFIED defaults to BLOCK.
*
* @generated from field: gitpod.v1.KernelControlsAction action = 2;
*/
action: KernelControlsAction;
};
/**
* Describes the message gitpod.v1.VetoFileBlockDevicesPolicy.
* Use `create(VetoFileBlockDevicesPolicySchema)` to create a new message.
*/
export declare const VetoFileBlockDevicesPolicySchema: GenMessage<VetoFileBlockDevicesPolicy>;
/**
* Veto controls kernel-level blocking mechanisms
*
* @generated from message gitpod.v1.Veto
*/
export type Veto = Message<"gitpod.v1.Veto"> & {
/**
* exec controls executable blocking
*
* @generated from field: gitpod.v1.Veto.Exec exec = 1;
*/
exec?: Veto_Exec;
/**
* file controls file-level access mechanisms.
*
* @generated from field: gitpod.v1.Veto.File file = 2;
*/
file?: Veto_File;
};
/**
* Describes the message gitpod.v1.Veto.
* Use `create(VetoSchema)` to create a new message.
*/
export declare const VetoSchema: GenMessage<Veto>;
/**
* Exec controls executable blocking
*
* @generated from message gitpod.v1.Veto.Exec
*/
export type Veto_Exec = Message<"gitpod.v1.Veto.Exec"> & {
/**
* enabled controls whether executable blocking is active
*
* @generated from field: bool enabled = 1;
*/
enabled: boolean;
/**
* denylist is the list of executable paths or names to block
*
* @generated from field: repeated string denylist = 2;
*/
denylist: string[];
/**
* action specifies what action kernel-level controls take on policy violations
*
* @generated from field: gitpod.v1.KernelControlsAction action = 3;
*/
action: KernelControlsAction;
/**
* resolve_bare_names enables the discovery agent to resolve bare executable
* names in the denylist to full filesystem paths. Gated by a feature flag
* for incremental rollout.
*
* @generated from field: bool resolve_bare_names = 4;
*/
resolveBareNames: boolean;
/**
* untouchable enables file I/O blocking on denylisted files. When true,
* every read()/write() on a denylisted file is blocked via the
* security_file_permission LSM hook. Gated by a feature flag.
*
* @generated from field: bool untouchable = 5;
*/
untouchable: boolean;
/**
* watch enables the BPF file watcher that emits events when denylisted
* files are modified, unlinked, or renamed. Used by the self-healing
* responder to keep the hash denylist up to date.
*
* @generated from field: bool watch = 6;
*/
watch: boolean;
/**
* deny_block_devices blocks opening of block devices (S_ISBLK) system-wide
* inside the environment.
* Deprecated: use veto.file.block_devices instead.
*
* @generated from field: bool deny_block_devices = 7 [deprecated = true];
* @deprecated
*/
denyBlockDevices: boolean;
};
/**
* Describes the message gitpod.v1.Veto.Exec.
* Use `create(Veto_ExecSchema)` to create a new message.
*/
export declare const Veto_ExecSchema: GenMessage<Veto_Exec>;
/**
* File controls file-level access mechanisms.
*
* @generated from message gitpod.v1.Veto.File
*/
export type Veto_File = Message<"gitpod.v1.Veto.File"> & {
/**
* enabled controls whether file-native policy is active.
*
* @generated from field: bool enabled = 1;
*/
enabled: boolean;
/**
* paths controls path-based file-content access.
*
* @generated from field: gitpod.v1.VetoFilePathPolicy paths = 2;
*/
paths?: VetoFilePathPolicy;
/**
* block_devices controls block-device open access.
*
* @generated from field: gitpod.v1.VetoFileBlockDevicesPolicy block_devices = 3;
*/
blockDevices?: VetoFileBlockDevicesPolicy;
/**
* supervisor_protection controls internal supervisor binary mutation protection.
*
* @generated from field: gitpod.v1.Veto.File.SupervisorProtection supervisor_protection = 4;
*/
supervisorProtection?: Veto_File_SupervisorProtection;
};
/**
* Describes the message gitpod.v1.Veto.File.
* Use `create(Veto_FileSchema)` to create a new message.
*/
export declare const Veto_FileSchema: GenMessage<Veto_File>;
/**
* SupervisorProtection controls internal protection for the supervisor binary.
* This is materialized by the backend from supervisor_self_protection_mode and is not customer policy.
*
* @generated from message gitpod.v1.Veto.File.SupervisorProtection
*/
export type Veto_File_SupervisorProtection = Message<"gitpod.v1.Veto.File.SupervisorProtection"> & {
/**
* enabled controls whether the supervisor binary internal source is active.
*
* @generated from field: optional bool enabled = 1;
*/
enabled?: boolean;
/**
* effect specifies whether covered supervisor binary mutations are blocked or audited.
* UNSPECIFIED defaults to BLOCK when enabled is true.
*
* @generated from field: gitpod.v1.KernelControlsAction effect = 2;
*/
effect: KernelControlsAction;
};
/**
* Describes the message gitpod.v1.Veto.File.SupervisorProtection.
* Use `create(Veto_File_SupervisorProtectionSchema)` to create a new message.
*/
export declare const Veto_File_SupervisorProtectionSchema: GenMessage<Veto_File_SupervisorProtection>;
/**
* KernelControlsConfig configures kernel-level controls for the environment
*
* @generated from message gitpod.v1.KernelControlsConfig
*/
export type KernelControlsConfig = Message<"gitpod.v1.KernelControlsConfig"> & {
/**
* veto controls blocking mechanisms
*
* @generated from field: gitpod.v1.Veto veto = 1;
*/
veto?: Veto;
/**
* bpf_debug_level controls the verbosity of BPF trace_pipe output
* for all BPF-based agents in this environment.
*
* @generated from field: gitpod.v1.BPFDebugLevel bpf_debug_level = 2;
*/
bpfDebugLevel: BPFDebugLevel;
};
/**
* Describes the message gitpod.v1.KernelControlsConfig.
* Use `create(KernelControlsConfigSchema)` to create a new message.
*/
export declare const KernelControlsConfigSchema: GenMessage<KernelControlsConfig>;
/**
* EnvironmentSpec specifies the configuration of an environment for an environment
* start
*
* @generated from message gitpod.v1.EnvironmentSpec
*/
export type EnvironmentSpec = Message<"gitpod.v1.EnvironmentSpec"> & {
/**
* version of the spec. The value of this field has no semantic
* meaning (e.g. don't interpret it as as a timestamp),
* but it can be used to impose a partial order. If a.spec_version <
* b.spec_version then a was the spec before b.
*
* @generated from field: uint64 spec_version = 1;
*/
specVersion: bigint;
/**
* Phase is the desired phase of the environment
*
* @generated from field: gitpod.v1.EnvironmentPhase desired_phase = 2;
*/
desiredPhase: EnvironmentPhase;
/**
* machine is the machine spec of the environment
*
* @generated from field: gitpod.v1.EnvironmentSpec.Machine machine = 3;
*/
machine?: EnvironmentSpec_Machine;
/**
* content is the content spec of the environment
*
* @generated from field: gitpod.v1.EnvironmentSpec.Content content = 4;
*/
content?: EnvironmentSpec_Content;
/**
* secrets are confidential data that is mounted into the environment
*
* @generated from field: repeated gitpod.v1.EnvironmentSpec.Secret secrets = 5;
*/
secrets: EnvironmentSpec_Secret[];
/**
* ports is the set of ports which ought to be exposed to your network
*
* @generated from field: repeated gitpod.v1.EnvironmentSpec.EnvironmentPort ports = 6;
*/
ports: EnvironmentSpec_EnvironmentPort[];
/**
* Timeout configures the environment timeout
*
* @generated from field: gitpod.v1.EnvironmentSpec.Timeout timeout = 7;
*/
timeout?: EnvironmentSpec_Timeout;
/**
* admission controlls who can access the environment and its ports.
*
* @generated from field: gitpod.v1.AdmissionLevel admission = 8;
*/
admission: AdmissionLevel;
/**
* devcontainer is the devcontainer spec of the environment
*
* @generated from field: gitpod.v1.EnvironmentSpec.DevContainer devcontainer = 9;
*/
devcontainer?: EnvironmentSpec_DevContainer;
/**
* ssh_public_keys are the public keys used to ssh into the environment
*
* @generated from field: repeated gitpod.v1.EnvironmentSpec.SSHPublicKey ssh_public_keys = 10;
*/
sshPublicKeys: EnvironmentSpec_SSHPublicKey[];
/**
* automations_file is the automations file spec of the environment
*
* @generated from field: gitpod.v1.EnvironmentSpec.AutomationsFile automations_file = 11;
*/
automationsFile?: EnvironmentSpec_AutomationsFile;
/**
* workflow_action_id is an optional reference to the workflow execution action
* that created this environment. Used for tracking and event correlation.
*
* @generated from field: optional string workflow_action_id = 12;
*/
workflowActionId?: string;
/**
* kernel_controls_config configures kernel-level controls for this environment
*
* @generated from field: gitpod.v1.KernelControlsConfig kernel_controls_config = 13;
*/
kernelControlsConfig?: KernelControlsConfig;
/**
* security_policy_id references the security policy used for this environment.
* If empty, the environment has no security policy.
*
* @generated from field: string security_policy_id = 14;
*/
securityPolicyId: string;
};
/**
* Describes the message gitpod.v1.EnvironmentSpec.
* Use `create(EnvironmentSpecSchema)` to create a new message.
*/
export declare const EnvironmentSpecSchema: GenMessage<EnvironmentSpec>;
/**
* Timeout configures the environment timeout
*
* @generated from message gitpod.v1.EnvironmentSpec.Timeout
*/
export type EnvironmentSpec_Timeout = Message<"gitpod.v1.EnvironmentSpec.Timeout"> & {
/**
* inacitivity is the maximum time of disconnection before the environment is
* stopped or paused. Minimum duration is 30 minutes. Set to 0 to disable.
*
* @generated from field: google.protobuf.Duration disconnected = 2;
*/
disconnected?: Duration;
};
/**
* Describes the message gitpod.v1.EnvironmentSpec.Timeout.
* Use `create(EnvironmentSpec_TimeoutSchema)` to create a new message.
*/
export declare const EnvironmentSpec_TimeoutSchema: GenMessage<EnvironmentSpec_Timeout>;
/**
* @generated from message gitpod.v1.EnvironmentSpec.Machine
*/
export type EnvironmentSpec_Machine = Message<"gitpod.v1.EnvironmentSpec.Machine"> & {
/**
* @generated from field: string session = 1;
*/
session: string;
/**
* Class denotes the class of the environment we ought to start
*
* @generated from field: string class = 2;
*/
class: string;
/**
* prefer_dual_disk indicates the management plane wants this environment
* to use a dual-disk layout (separate system and data disks). The runner
* may ignore this if it does not support dual-disk.
*
* @generated from field: bool prefer_dual_disk = 3;
*/
preferDualDisk: boolean;
};
/**
* Describes the message gitpod.v1.EnvironmentSpec.Machine.
* Use `create(EnvironmentSpec_MachineSchema)` to create a new message.
*/
export declare const EnvironmentSpec_MachineSchema: GenMessage<EnvironmentSpec_Machine>;
/**
* @generated from message gitpod.v1.EnvironmentSpec.Content
*/
export type EnvironmentSpec_Content = Message<"gitpod.v1.EnvironmentSpec.Content"> & {
/**
* @generated from field: string session = 1;
*/
session: string;
/**
* initializer configures how the environment is to be initialized
*
* @generated from field: gitpod.v1.EnvironmentInitializer initializer = 2;
*/
initializer?: EnvironmentInitializer;
/**
* The Git username
*
* @generated from field: string git_username = 3;
*/
gitUsername: string;
/**
* The Git email address
*
* @generated from field: string git_email = 4;
*/
gitEmail: string;
};
/**
* Describes the message gitpod.v1.EnvironmentSpec.Content.
* Use `create(EnvironmentSpec_ContentSchema)` to create a new message.
*/
export declare const EnvironmentSpec_ContentSchema: GenMessage<EnvironmentSpec_Content>;
/**
* @generated from message gitpod.v1.EnvironmentSpec.DevContainer
*/
export type EnvironmentSpec_DevContainer = Message<"gitpod.v1.EnvironmentSpec.DevContainer"> & {
/**
* @generated from field: string session = 1;
*/
session: string;
/**
* devcontainer_file_path is the path to the devcontainer file relative to the repo root
*
* @generated from field: string devcontainer_file_path = 2;
*/
devcontainerFilePath: string;
/**
* Experimental: dotfiles is the dotfiles configuration of the devcontainer
*
* @generated from field: gitpod.v1.EnvironmentSpec.DevContainer.Dotfiles dotfiles = 3;
*/
dotfiles?: EnvironmentSpec_DevContainer_Dotfiles;
/**
* default_devcontainer_image is the default image that is used to start the devcontainer if no devcontainer config file is found
*
* @generated from field: string default_devcontainer_image = 4;
*/
defaultDevcontainerImage: string;
/**
* lifecycle_stage controls which devcontainer lifecycle commands are executed.
* Defaults to FULL if not specified.
*
* @generated from field: gitpod.v1.EnvironmentSpec.DevContainer.LifecycleStage lifecycle_stage = 5;
*/
lifecycleStage: EnvironmentSpec_DevContainer_LifecycleStage;
};
/**
* Describes the message gitpod.v1.EnvironmentSpec.DevContainer.
* Use `create(EnvironmentSpec_DevContainerSchema)` to create a new message.
*/
export declare const EnvironmentSpec_DevContainerSchema: GenMessage<EnvironmentSpec_DevContainer>;
/**
* @generated from message gitpod.v1.EnvironmentSpec.DevContainer.Dotfiles
*/
export type EnvironmentSpec_DevContainer_Dotfiles = Message<"gitpod.v1.EnvironmentSpec.DevContainer.Dotfiles"> & {
/**
* URL of a dotfiles Git repository (e.g. https://github.com/owner/repository)
*
* @generated from field: string repository = 1;
*/
repository: string;
};
/**
* Describes the message gitpod.v1.EnvironmentSpec.DevContainer.Dotfiles.
* Use `create(EnvironmentSpec_DevContainer_DotfilesSchema)` to create a new message.
*/
export declare const EnvironmentSpec_DevContainer_DotfilesSchema: GenMessage<EnvironmentSpec_DevContainer_Dotfiles>;
/**
* LifecycleStage controls which devcontainer lifecycle commands are executed.
* See https://containers.dev/implementors/json_reference/#lifecycle-scripts
*
* @generated from enum gitpod.v1.EnvironmentSpec.DevContainer.LifecycleStage
*/
export declare enum EnvironmentSpec_DevContainer_LifecycleStage {
/**
* LIFECYCLE_STAGE_UNSPECIFIED defaults to FULL for backward compatibility
*
* @generated from enum value: LIFECYCLE_STAGE_UNSPECIFIED = 0;
*/
UNSPECIFIED = 0,
/**
* LIFECYCLE_STAGE_FULL runs all devcontainer lifecycle commands (default):
* initializeCommand, onCreateCommand, updateContentCommand, postCreateCommand,
* postStartCommand, and postAttachCommand.
*
* @generated from enum value: LIFECYCLE_STAGE_FULL = 1;
*/
FULL = 1,
/**
* LIFECYCLE_STAGE_PREBUILD runs only the lifecycle commands suitable for prebuilding:
* initializeCommand, onCreateCommand, and updateContentCommand.
* Skips postCreateCommand, postStartCommand, and postAttachCommand which are
* intended to run when a user connects to the container.
*
* @generated from enum value: LIFECYCLE_STAGE_PREBUILD = 2;
*/
PREBUILD = 2
}
/**
* Describes the enum gitpod.v1.EnvironmentSpec.DevContainer.LifecycleStage.
*/
export declare const EnvironmentSpec_DevContainer_LifecycleStageSchema: GenEnum<EnvironmentSpec_DevContainer_LifecycleStage>;
/**
* @generated from message gitpod.v1.EnvironmentSpec.Secret
*/
export type EnvironmentSpec_Secret = Message<"gitpod.v1.EnvironmentSpec.Secret"> & {
/**
* name is the human readable description of the secret
*
* @generated from field: string name = 1;
*/
name: string;
/**
* source is the source of the secret, for now control-plane or runner
*
* @generated from field: string source = 2;
*/
source: string;
/**
* source_ref into the source, in case of control-plane this is uuid of the secret
*
* @generated from field: string source_ref = 3;
*/
sourceRef: string;
/**
* mount specifies how the secret is materiaized in the environment
*
* @generated from oneof gitpod.v1.EnvironmentSpec.Secret.mount
*/
mount: {
/**
* file_path is the path inside the devcontainer where the secret is mounted
*
* @generated from field: string file_path = 10;
*/
value: string;
case: "filePath";
} | {
/**
* @generated from field: string environment_variable = 11;
*/
value: string;
case: "environmentVariable";
} | {
/**
* @generated from field: string git_credential_host = 12;
*/
value: string;
case: "gitCredentialHost";
} | {
/**
* container_registry_basic_auth_host is the hostname of the container registry that supports basic auth
*
* @generated from field: string container_registry_basic_auth_host = 13;
*/
value: string;
case: "containerRegistryBasicAuthHost";
} | {
/**
* api_only indicates the secret is only available via API/CLI.
* These secrets are resolved but NOT automatically injected into services or devcontainers.
*
* @generated from field: bool api_only = 14;
*/
value: boolean;
case: "apiOnly";
} | {
case: undefined;
value?: undefined;
};
/**
* session indicated the current session of the secret.
* When the session does not change, secrets are not reloaded in the environment.
*
* @generated from field: string session = 4;
*/
session: string;
/**
* id is the unique identifier of the secret.
*
* @generated from field: string id = 5;
*/
id: string;
/**
* scope indicates where this secret originated from.
* Used to filter secrets during build (only org and project secrets are injected).
*
* @generated from field: gitpod.v1.EnvironmentSpec.Secret.Scope scope = 6;
*/
scope: EnvironmentSpec_Secret_Scope;
/**
* credential_proxy configures transparent credential injection via the
* credential proxy. When set, the credential proxy intercepts HTTPS
* traffic to the target hosts and replaces the dummy secret value with
* the real value in the specified HTTP header. The real secret value is
* never exposed in the environment.
* This field is orthogonal to mount — a secret can be both mounted (e.g.
* as a git credential) and proxied at the same time.
*
* @generated from field: gitpod.v1.Secret.CredentialProxy credential_proxy = 15;
*/
credentialProxy?: Secret_CredentialProxy;
/**
* source_details contains the typed source configuration for
* management-plane secrets.
*
* @generated from field: gitpod.v1.Secret.Source source_details = 16;
*/
sourceDetails?: Secret_Source;
};
/**
* Describes the message gitpod.v1.EnvironmentSpec.Secret.
* Use `create(EnvironmentSpec_SecretSchema)` to create a new message.
*/
export declare const EnvironmentSpec_SecretSchema: GenMessage<EnvironmentSpec_Secret>;
/**
* Scope indicates the origin of the secret for filtering purposes.
*
* @generated from enum gitpod.v1.EnvironmentSpec.Secret.Scope
*/
export declare enum EnvironmentSpec_Secret_Scope {
/**
* @generated from enum value: SCOPE_UNSPECIFIED = 0;
*/
UNSPECIFIED = 0,
/**
* @generated from enum value: SCOPE_ORGANIZATION = 1;
*/
ORGANIZATION = 1,
/**
* @generated from enum value: SCOPE_PROJECT = 2;
*/
PROJECT = 2,
/**
* @generated from enum value: SCOPE_USER = 3;
*/
USER = 3,
/**
* @generated from enum value: SCOPE_SERVICE_ACCOUNT = 4;
*/
SERVICE_ACCOUNT = 4,
/**
* @generated from enum value: SCOPE_RUNNER = 5;
*/
RUNNER = 5
}
/**
* Describes the enum gitpod.v1.EnvironmentSpec.Secret.Scope.
*/
export declare const EnvironmentSpec_Secret_ScopeSchema: GenEnum<EnvironmentSpec_Secret_Scope>;
/**
* @generated from message gitpod.v1.EnvironmentSpec.EnvironmentPort
*/
export type EnvironmentSpec_EnvironmentPort = Message<"gitpod.v1.EnvironmentSpec.EnvironmentPort"> & {
/**
* port number
*
* @generated from field: int32 port = 1;
*/
port: number;
/**
* policy of this port
*
* @generated from field: gitpod.v1.AdmissionLevel admission = 2;
*/
admission: AdmissionLevel;
/**
* name of this port
*
* @generated from field: string name = 3;
*/
name: string;
/**
* protocol for communication (Gateway proxy → user environment service).
* this setting only affects the protocol used between Gateway and user environment services.
*
* @generated from field: gitpod.v1.EnvironmentSpec.EnvironmentPort.Protocol protocol = 4;
*/
protocol: EnvironmentSpec_EnvironmentPort_Protocol;
/**
* auth_nonce is a monotonically increasing counter incremented by the
* backend whenever the port's admission level changes. Used by the proxy
* to invalidate browser auth cookies without requiring a backend round-trip.
*
* @generated from field: uint64 auth_nonce = 5;
*/
authNonce: bigint;
};
/**
* Describes the message gitpod.v1.EnvironmentSpec.EnvironmentPort.
* Use `create(EnvironmentSpec_EnvironmentPortSchema)` to create a new message.
*/
export declare const EnvironmentSpec_EnvironmentPortSchema: GenMessage<EnvironmentSpec_EnvironmentPort>;
/**
* Protocol describes the communication protocol between Gateway and user environment services.
*
* @generated from enum gitpod.v1.EnvironmentSpec.EnvironmentPort.Protocol
*/
export declare enum EnvironmentSpec_EnvironmentPort_Protocol {
/**
* defaults to HTTP for backward compatibility
*
* @generated from enum value: PROTOCOL_UNSPECIFIED = 0;
*/
UNSPECIFIED = 0,
/**
* @generated from enum value: PROTOCOL_HTTP = 1;
*/
HTTP = 1,
/**
* @generated from enum value: PROTOCOL_HTTPS = 2;
*/
HTTPS = 2
}
/**
* Describes the enum gitpod.v1.EnvironmentSpec.EnvironmentPort.Protocol.
*/
export declare const EnvironmentSpec_EnvironmentPort_ProtocolSchema: GenEnum<Environme