Prebuilds
PrebuildService manages prebuilds for projects to enable faster environment startup times. Prebuilds create snapshots of environments that can be used to provision new environments quickly.
CancelPrebuild
CreatePrebuild
CreatePrebuildLogsToken
CreateWarmPool
DeletePrebuild
DeleteWarmPool
ListPrebuilds
ListWarmPools
GetPrebuild
GetWarmPool
UpdateWarmPool
ModelsExpand Collapse
Prebuild object { metadata, spec, status, id } Prebuild represents a prebuild for a project that creates a snapshot
for faster environment startup times.
Prebuild represents a prebuild for a project that creates a snapshot for faster environment startup times.
metadata contains organizational and ownership information
metadata contains organizational and ownership information
creator is the identity of who created the prebuild.
For manual prebuilds, this is the user who triggered it.
For scheduled prebuilds, this is the configured executor.
creator is the identity of who created the prebuild. For manual prebuilds, this is the user who triggered it. For scheduled prebuilds, this is the configured executor.
environment_class_id is the environment class used to create this prebuild. While the prebuild is created with a specific environment class, environments with different classes (e.g., smaller or larger instance sizes) can be created from the same prebuild, as long as they run on the same runner. If not specified in create requests, uses the project’s default environment class.
executor is the identity used to run the prebuild.
The executor’s SCM credentials are used to clone the repository.
If not set, the creator’s identity is used.
executor is the identity used to run the prebuild. The executor’s SCM credentials are used to clone the repository. If not set, the creator’s identity is used.
organization_id is the ID of the organization that owns the prebuild
project_id is the ID of the project this prebuild was created for
spec contains the configuration used to create this prebuild
spec contains the configuration used to create this prebuild
desired_phase is the desired phase of the prebuild.
Used to signal cancellation or other state changes.
This field is managed by the API and reconciler.
desired_phase is the desired phase of the prebuild. Used to signal cancellation or other state changes. This field is managed by the API and reconciler.
status contains the current status and progress of the prebuild
status contains the current status and progress of the prebuild
completion_time is when the prebuild completed (successfully or with failure)
environment_id is the ID of the environment used to create this prebuild. This field is set when the prebuild environment is created.
log_url provides access to prebuild logs. During prebuild execution, this references the environment logs. After completion, this may reference archived logs.
snapshot_completion_percentage is the progress of snapshot creation (0-100). Only populated when phase is SNAPSHOTTING and progress is available from the cloud provider. This value may update infrequently or remain at 0 depending on the provider.
snapshot_size_bytes is the size of the snapshot in bytes. Only populated when the snapshot is available (phase is COMPLETED).
status_version is incremented each time the status is updated. Used for optimistic concurrency control.
warning_message contains warnings from the prebuild environment that indicate something went wrong but the prebuild could still complete. For example, the devcontainer failed to build but the environment is still usable. These warnings will likely affect any environment started from this prebuild.
PrebuildMetadata object { createdAt, creator, updatedAt, 5 more } PrebuildMetadata contains metadata about the prebuild
PrebuildMetadata contains metadata about the prebuild
creator is the identity of who created the prebuild.
For manual prebuilds, this is the user who triggered it.
For scheduled prebuilds, this is the configured executor.
creator is the identity of who created the prebuild. For manual prebuilds, this is the user who triggered it. For scheduled prebuilds, this is the configured executor.
environment_class_id is the environment class used to create this prebuild. While the prebuild is created with a specific environment class, environments with different classes (e.g., smaller or larger instance sizes) can be created from the same prebuild, as long as they run on the same runner. If not specified in create requests, uses the project’s default environment class.
executor is the identity used to run the prebuild.
The executor’s SCM credentials are used to clone the repository.
If not set, the creator’s identity is used.
executor is the identity used to run the prebuild. The executor’s SCM credentials are used to clone the repository. If not set, the creator’s identity is used.
organization_id is the ID of the organization that owns the prebuild
project_id is the ID of the project this prebuild was created for
PrebuildSpec object { desiredPhase, specVersion, timeout } PrebuildSpec contains the configuration used to create a prebuild
PrebuildSpec contains the configuration used to create a prebuild
desired_phase is the desired phase of the prebuild.
Used to signal cancellation or other state changes.
This field is managed by the API and reconciler.
desired_phase is the desired phase of the prebuild. Used to signal cancellation or other state changes. This field is managed by the API and reconciler.
PrebuildStatus object { phase, completionTime, environmentId, 6 more } PrebuildStatus contains the current status and progress of a prebuild
PrebuildStatus contains the current status and progress of a prebuild
completion_time is when the prebuild completed (successfully or with failure)
environment_id is the ID of the environment used to create this prebuild. This field is set when the prebuild environment is created.
log_url provides access to prebuild logs. During prebuild execution, this references the environment logs. After completion, this may reference archived logs.
snapshot_completion_percentage is the progress of snapshot creation (0-100). Only populated when phase is SNAPSHOTTING and progress is available from the cloud provider. This value may update infrequently or remain at 0 depending on the provider.
snapshot_size_bytes is the size of the snapshot in bytes. Only populated when the snapshot is available (phase is COMPLETED).
status_version is incremented each time the status is updated. Used for optimistic concurrency control.
warning_message contains warnings from the prebuild environment that indicate something went wrong but the prebuild could still complete. For example, the devcontainer failed to build but the environment is still usable. These warnings will likely affect any environment started from this prebuild.
WarmPool object { metadata, spec, status, id } WarmPool maintains pre-created environment instances from a prebuild snapshot
for near-instant environment startup.
One warm pool exists per <project, environment_class> pair.
WarmPool maintains pre-created environment instances from a prebuild snapshot for near-instant environment startup. One warm pool exists per <project, environment_class> pair.
metadata contains organizational and ownership information
metadata contains organizational and ownership information
spec contains the desired configuration for this warm pool
spec contains the desired configuration for this warm pool
desired_phase is the intended lifecycle phase for this warm pool.
Managed by the API and reconciler.
desired_phase is the intended lifecycle phase for this warm pool. Managed by the API and reconciler.
desired_size is the number of warm instances to maintain. Deprecated: Use min_size and max_size instead for dynamic scaling. Existing pools will be migrated to min_size=max_size=desired_size.
max_size is the maximum number of warm instances to maintain. The pool will never scale above this value. Must be >= min_size and <= 20.
min_size is the minimum number of warm instances to maintain. The pool will never scale below this value. Must be >= 0 and <= max_size. Set to 0 to allow full scale-down.
status contains the current status reported by the runner
status contains the current status reported by the runner
desired_size is the current target number of instances the autoscaler has decided on. Unlike running_instances, this value is stable and does not fluctuate as instances are claimed and backfilled.
failure_message contains details about why the warm pool is degraded or failed
running_instances is the number of running warm instances in the pool, ready to be claimed for near-instant environment startup.
status_version is incremented each time the status is updated. Used for optimistic concurrency control.
stopped_instances is the number of pre-provisioned but stopped instances in the pool. When a running instance is claimed, stopped instances are used to backfill the running pool faster than provisioning from scratch. Stopped instances only incur storage costs, allowing a larger total pool at lower cost than keeping all instances running.
WarmPoolMetadata object { createdAt, updatedAt, environmentClassId, 3 more } WarmPoolMetadata contains metadata about the warm pool
WarmPoolMetadata contains metadata about the warm pool
WarmPoolSpec object { desiredPhase, desiredSize, maxSize, 3 more } WarmPoolSpec contains the desired configuration for a warm pool
WarmPoolSpec contains the desired configuration for a warm pool
desired_phase is the intended lifecycle phase for this warm pool.
Managed by the API and reconciler.
desired_phase is the intended lifecycle phase for this warm pool. Managed by the API and reconciler.
desired_size is the number of warm instances to maintain. Deprecated: Use min_size and max_size instead for dynamic scaling. Existing pools will be migrated to min_size=max_size=desired_size.
max_size is the maximum number of warm instances to maintain. The pool will never scale above this value. Must be >= min_size and <= 20.
min_size is the minimum number of warm instances to maintain. The pool will never scale below this value. Must be >= 0 and <= max_size. Set to 0 to allow full scale-down.
WarmPoolStatus object { phase, desiredSize, failureMessage, 3 more } WarmPoolStatus contains the current status of a warm pool as reported by the runner
WarmPoolStatus contains the current status of a warm pool as reported by the runner
desired_size is the current target number of instances the autoscaler has decided on. Unlike running_instances, this value is stable and does not fluctuate as instances are claimed and backfilled.
failure_message contains details about why the warm pool is degraded or failed
running_instances is the number of running warm instances in the pool, ready to be claimed for near-instant environment startup.
status_version is incremented each time the status is updated. Used for optimistic concurrency control.
stopped_instances is the number of pre-provisioned but stopped instances in the pool. When a running instance is claimed, stopped instances are used to backfill the running pool faster than provisioning from scratch. Stopped instances only incur storage costs, allowing a larger total pool at lower cost than keeping all instances running.
PrebuildCancelResponse object { prebuild }
Prebuild represents a prebuild for a project that creates a snapshot
for faster environment startup times.
Prebuild represents a prebuild for a project that creates a snapshot for faster environment startup times.
metadata contains organizational and ownership information
metadata contains organizational and ownership information
creator is the identity of who created the prebuild.
For manual prebuilds, this is the user who triggered it.
For scheduled prebuilds, this is the configured executor.
creator is the identity of who created the prebuild. For manual prebuilds, this is the user who triggered it. For scheduled prebuilds, this is the configured executor.
environment_class_id is the environment class used to create this prebuild. While the prebuild is created with a specific environment class, environments with different classes (e.g., smaller or larger instance sizes) can be created from the same prebuild, as long as they run on the same runner. If not specified in create requests, uses the project’s default environment class.
executor is the identity used to run the prebuild.
The executor’s SCM credentials are used to clone the repository.
If not set, the creator’s identity is used.
executor is the identity used to run the prebuild. The executor’s SCM credentials are used to clone the repository. If not set, the creator’s identity is used.
organization_id is the ID of the organization that owns the prebuild
project_id is the ID of the project this prebuild was created for
spec contains the configuration used to create this prebuild
spec contains the configuration used to create this prebuild
desired_phase is the desired phase of the prebuild.
Used to signal cancellation or other state changes.
This field is managed by the API and reconciler.
desired_phase is the desired phase of the prebuild. Used to signal cancellation or other state changes. This field is managed by the API and reconciler.
status contains the current status and progress of the prebuild
status contains the current status and progress of the prebuild
completion_time is when the prebuild completed (successfully or with failure)
environment_id is the ID of the environment used to create this prebuild. This field is set when the prebuild environment is created.
log_url provides access to prebuild logs. During prebuild execution, this references the environment logs. After completion, this may reference archived logs.
snapshot_completion_percentage is the progress of snapshot creation (0-100). Only populated when phase is SNAPSHOTTING and progress is available from the cloud provider. This value may update infrequently or remain at 0 depending on the provider.
snapshot_size_bytes is the size of the snapshot in bytes. Only populated when the snapshot is available (phase is COMPLETED).
status_version is incremented each time the status is updated. Used for optimistic concurrency control.
warning_message contains warnings from the prebuild environment that indicate something went wrong but the prebuild could still complete. For example, the devcontainer failed to build but the environment is still usable. These warnings will likely affect any environment started from this prebuild.
PrebuildCreateResponse object { prebuild }
Prebuild represents a prebuild for a project that creates a snapshot
for faster environment startup times.
Prebuild represents a prebuild for a project that creates a snapshot for faster environment startup times.
metadata contains organizational and ownership information
metadata contains organizational and ownership information
creator is the identity of who created the prebuild.
For manual prebuilds, this is the user who triggered it.
For scheduled prebuilds, this is the configured executor.
creator is the identity of who created the prebuild. For manual prebuilds, this is the user who triggered it. For scheduled prebuilds, this is the configured executor.
environment_class_id is the environment class used to create this prebuild. While the prebuild is created with a specific environment class, environments with different classes (e.g., smaller or larger instance sizes) can be created from the same prebuild, as long as they run on the same runner. If not specified in create requests, uses the project’s default environment class.
executor is the identity used to run the prebuild.
The executor’s SCM credentials are used to clone the repository.
If not set, the creator’s identity is used.
executor is the identity used to run the prebuild. The executor’s SCM credentials are used to clone the repository. If not set, the creator’s identity is used.
organization_id is the ID of the organization that owns the prebuild
project_id is the ID of the project this prebuild was created for
spec contains the configuration used to create this prebuild
spec contains the configuration used to create this prebuild
desired_phase is the desired phase of the prebuild.
Used to signal cancellation or other state changes.
This field is managed by the API and reconciler.
desired_phase is the desired phase of the prebuild. Used to signal cancellation or other state changes. This field is managed by the API and reconciler.
status contains the current status and progress of the prebuild
status contains the current status and progress of the prebuild
completion_time is when the prebuild completed (successfully or with failure)
environment_id is the ID of the environment used to create this prebuild. This field is set when the prebuild environment is created.
log_url provides access to prebuild logs. During prebuild execution, this references the environment logs. After completion, this may reference archived logs.
snapshot_completion_percentage is the progress of snapshot creation (0-100). Only populated when phase is SNAPSHOTTING and progress is available from the cloud provider. This value may update infrequently or remain at 0 depending on the provider.
snapshot_size_bytes is the size of the snapshot in bytes. Only populated when the snapshot is available (phase is COMPLETED).
status_version is incremented each time the status is updated. Used for optimistic concurrency control.
warning_message contains warnings from the prebuild environment that indicate something went wrong but the prebuild could still complete. For example, the devcontainer failed to build but the environment is still usable. These warnings will likely affect any environment started from this prebuild.
PrebuildCreateWarmPoolResponse object { warmPool }
WarmPool maintains pre-created environment instances from a prebuild snapshot
for near-instant environment startup.
One warm pool exists per <project, environment_class> pair.
WarmPool maintains pre-created environment instances from a prebuild snapshot for near-instant environment startup. One warm pool exists per <project, environment_class> pair.
metadata contains organizational and ownership information
metadata contains organizational and ownership information
spec contains the desired configuration for this warm pool
spec contains the desired configuration for this warm pool
desired_phase is the intended lifecycle phase for this warm pool.
Managed by the API and reconciler.
desired_phase is the intended lifecycle phase for this warm pool. Managed by the API and reconciler.
desired_size is the number of warm instances to maintain. Deprecated: Use min_size and max_size instead for dynamic scaling. Existing pools will be migrated to min_size=max_size=desired_size.
max_size is the maximum number of warm instances to maintain. The pool will never scale above this value. Must be >= min_size and <= 20.
min_size is the minimum number of warm instances to maintain. The pool will never scale below this value. Must be >= 0 and <= max_size. Set to 0 to allow full scale-down.
status contains the current status reported by the runner
status contains the current status reported by the runner
desired_size is the current target number of instances the autoscaler has decided on. Unlike running_instances, this value is stable and does not fluctuate as instances are claimed and backfilled.
failure_message contains details about why the warm pool is degraded or failed
running_instances is the number of running warm instances in the pool, ready to be claimed for near-instant environment startup.
status_version is incremented each time the status is updated. Used for optimistic concurrency control.
stopped_instances is the number of pre-provisioned but stopped instances in the pool. When a running instance is claimed, stopped instances are used to backfill the running pool faster than provisioning from scratch. Stopped instances only incur storage costs, allowing a larger total pool at lower cost than keeping all instances running.
PrebuildRetrieveResponse object { prebuild }
Prebuild represents a prebuild for a project that creates a snapshot
for faster environment startup times.
Prebuild represents a prebuild for a project that creates a snapshot for faster environment startup times.
metadata contains organizational and ownership information
metadata contains organizational and ownership information
creator is the identity of who created the prebuild.
For manual prebuilds, this is the user who triggered it.
For scheduled prebuilds, this is the configured executor.
creator is the identity of who created the prebuild. For manual prebuilds, this is the user who triggered it. For scheduled prebuilds, this is the configured executor.
environment_class_id is the environment class used to create this prebuild. While the prebuild is created with a specific environment class, environments with different classes (e.g., smaller or larger instance sizes) can be created from the same prebuild, as long as they run on the same runner. If not specified in create requests, uses the project’s default environment class.
executor is the identity used to run the prebuild.
The executor’s SCM credentials are used to clone the repository.
If not set, the creator’s identity is used.
executor is the identity used to run the prebuild. The executor’s SCM credentials are used to clone the repository. If not set, the creator’s identity is used.
organization_id is the ID of the organization that owns the prebuild
project_id is the ID of the project this prebuild was created for
spec contains the configuration used to create this prebuild
spec contains the configuration used to create this prebuild
desired_phase is the desired phase of the prebuild.
Used to signal cancellation or other state changes.
This field is managed by the API and reconciler.
desired_phase is the desired phase of the prebuild. Used to signal cancellation or other state changes. This field is managed by the API and reconciler.
status contains the current status and progress of the prebuild
status contains the current status and progress of the prebuild
completion_time is when the prebuild completed (successfully or with failure)
environment_id is the ID of the environment used to create this prebuild. This field is set when the prebuild environment is created.
log_url provides access to prebuild logs. During prebuild execution, this references the environment logs. After completion, this may reference archived logs.
snapshot_completion_percentage is the progress of snapshot creation (0-100). Only populated when phase is SNAPSHOTTING and progress is available from the cloud provider. This value may update infrequently or remain at 0 depending on the provider.
snapshot_size_bytes is the size of the snapshot in bytes. Only populated when the snapshot is available (phase is COMPLETED).
status_version is incremented each time the status is updated. Used for optimistic concurrency control.
warning_message contains warnings from the prebuild environment that indicate something went wrong but the prebuild could still complete. For example, the devcontainer failed to build but the environment is still usable. These warnings will likely affect any environment started from this prebuild.
PrebuildRetrieveWarmPoolResponse object { warmPool }
WarmPool maintains pre-created environment instances from a prebuild snapshot
for near-instant environment startup.
One warm pool exists per <project, environment_class> pair.
WarmPool maintains pre-created environment instances from a prebuild snapshot for near-instant environment startup. One warm pool exists per <project, environment_class> pair.
metadata contains organizational and ownership information
metadata contains organizational and ownership information
spec contains the desired configuration for this warm pool
spec contains the desired configuration for this warm pool
desired_phase is the intended lifecycle phase for this warm pool.
Managed by the API and reconciler.
desired_phase is the intended lifecycle phase for this warm pool. Managed by the API and reconciler.
desired_size is the number of warm instances to maintain. Deprecated: Use min_size and max_size instead for dynamic scaling. Existing pools will be migrated to min_size=max_size=desired_size.
max_size is the maximum number of warm instances to maintain. The pool will never scale above this value. Must be >= min_size and <= 20.
min_size is the minimum number of warm instances to maintain. The pool will never scale below this value. Must be >= 0 and <= max_size. Set to 0 to allow full scale-down.
status contains the current status reported by the runner
status contains the current status reported by the runner
desired_size is the current target number of instances the autoscaler has decided on. Unlike running_instances, this value is stable and does not fluctuate as instances are claimed and backfilled.
failure_message contains details about why the warm pool is degraded or failed
running_instances is the number of running warm instances in the pool, ready to be claimed for near-instant environment startup.
status_version is incremented each time the status is updated. Used for optimistic concurrency control.
stopped_instances is the number of pre-provisioned but stopped instances in the pool. When a running instance is claimed, stopped instances are used to backfill the running pool faster than provisioning from scratch. Stopped instances only incur storage costs, allowing a larger total pool at lower cost than keeping all instances running.
PrebuildUpdateWarmPoolResponse object { warmPool }
WarmPool maintains pre-created environment instances from a prebuild snapshot
for near-instant environment startup.
One warm pool exists per <project, environment_class> pair.
WarmPool maintains pre-created environment instances from a prebuild snapshot for near-instant environment startup. One warm pool exists per <project, environment_class> pair.
metadata contains organizational and ownership information
metadata contains organizational and ownership information
spec contains the desired configuration for this warm pool
spec contains the desired configuration for this warm pool
desired_phase is the intended lifecycle phase for this warm pool.
Managed by the API and reconciler.
desired_phase is the intended lifecycle phase for this warm pool. Managed by the API and reconciler.
desired_size is the number of warm instances to maintain. Deprecated: Use min_size and max_size instead for dynamic scaling. Existing pools will be migrated to min_size=max_size=desired_size.
max_size is the maximum number of warm instances to maintain. The pool will never scale above this value. Must be >= min_size and <= 20.
min_size is the minimum number of warm instances to maintain. The pool will never scale below this value. Must be >= 0 and <= max_size. Set to 0 to allow full scale-down.
status contains the current status reported by the runner
status contains the current status reported by the runner
desired_size is the current target number of instances the autoscaler has decided on. Unlike running_instances, this value is stable and does not fluctuate as instances are claimed and backfilled.
failure_message contains details about why the warm pool is degraded or failed
running_instances is the number of running warm instances in the pool, ready to be claimed for near-instant environment startup.
status_version is incremented each time the status is updated. Used for optimistic concurrency control.
stopped_instances is the number of pre-provisioned but stopped instances in the pool. When a running instance is claimed, stopped instances are used to backfill the running pool faster than provisioning from scratch. Stopped instances only incur storage costs, allowing a larger total pool at lower cost than keeping all instances running.