pub struct CapacityGroup {
pub group_id: String,
pub instance_type: Option<String>,
pub profile: Option<MachineProfile>,
pub min_size: u32,
pub max_size: u32,
pub scale_policy: Option<CapacityGroupScalePolicy>,
pub nested_virtualization: Option<bool>,
}Expand description
Capacity group definition.
A capacity group represents machines with identical hardware profiles. Each group becomes a separate Auto Scaling Group (AWS), Managed Instance Group (GCP), or VM Scale Set (Azure).
Fields§
§group_id: StringUnique identifier for this capacity group (must be lowercase alphanumeric with hyphens)
instance_type: Option<String>Provider machine selected at deployment time.
alien.ts should declare portable requirements; preflight materialization
fills this field from StackSettings.compute.
profile: Option<MachineProfile>Machine resource profile (auto-derived from instance_type if not specified)
min_size: u32Minimum number of machines (can be 0 for scale-to-zero)
max_size: u32Maximum number of machines (must be ≤ 10)
scale_policy: Option<CapacityGroupScalePolicy>Source-declared scale policy and installer-editable bounds.
Older stacks only have minSize and maxSize; planners derive an exact
fixed/autoscale policy from those selected bounds when this field is absent.
nested_virtualization: Option<bool>Require instance types that expose nested virtualization (VT-x/EPT) to guest VMs. This is needed by workloads that boot nested VMs inside containers. When true, the controller’s instance-type selector is constrained to a vetted nested-virt-capable allowlist.
Implementations§
Source§impl CapacityGroup
impl CapacityGroup
Sourcepub fn aws_root_volume_size_gib(&self) -> i32
pub fn aws_root_volume_size_gib(&self) -> i32
AWS root volume size, including filesystem headroom and runtime overhead.
Sourcepub fn aws_runtime_data_volume_size_gib(&self) -> Option<i32>
pub fn aws_runtime_data_volume_size_gib(&self) -> Option<i32>
AWS second EBS volume: the declared data disk, or for a nested virtualization pool without one, the volume such pools have always received, sized from ephemeral storage.
Sourcepub fn disks_differ(&self, other: &CapacityGroup) -> bool
pub fn disks_differ(&self, other: &CapacityGroup) -> bool
Whether other asks for different disks than this group: another root
storage size or data disk. Runtime controllers replace machines for it.
Sourcepub fn data_disk_size_gib(&self) -> Option<u64>
pub fn data_disk_size_gib(&self) -> Option<u64>
Declared data disk size, rounded up to a whole GiB.