#[non_exhaustive]pub enum Feature {
Show 38 variants
EnvironmentProvisioning,
PlaybookChecks,
ExecWithoutContainer,
NetworkAppliances,
Gateways,
VolumesAcrossShapes,
VmAfterContainer,
MachineAliases,
Ulimits,
TrafficControl,
Ipv6,
Ipv6Only,
Ipv6Auto,
Secrets,
SecretOwners,
ExternalNetworks,
BridgedNetworks,
OwnedProjectFiles,
ExistingHostFiles,
Tpm,
MachineProcess,
OwnBoot,
ContainerGpus,
ContainerDevices,
ContainerNestedVirtualization,
VmGpus,
VmDevices,
NestedVirtualization,
NetworkMtu,
RateLimit,
PrivateDns,
PersistentVolumes,
ExternalVolumes,
DataDisks,
RawDisks,
TmpfsModes,
VmMoreAddresses,
ContainerMoreAddresses,
}Expand description
A capability a backend may have: the kind of a Requirement.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
EnvironmentProvisioning
Environment-level provisioning (provision:), run by a controller.
PlaybookChecks
Checks that are Ansible playbooks (run from a controller).
ExecWithoutContainer
exec checks from a position with no container of its own.
NetworkAppliances
Network appliances (docker.appliance), wired the way Docker attaches networks.
Gateways
Networks routed by a machine of the environment (a network’s gateway).
VolumesAcrossShapes
One shared volume mounted by containers and VMs alike.
VmAfterContainer
A VM that waits for a container (depends_on).
MachineAliases
Extra names for a machine (aliases), dotted ones included.
Ulimits
Per-container process limits (ulimits).
TrafficControl
Link impairment (tc), applied on the path into a network.
Ipv6
Dual-stack networks (ipv6), with addresses derived from the octets.
Ipv6Only
IPv6-only networks (ipv6.only).
Ipv6Auto
IPv6 addresses the target hands out (ipv6.addresses: auto).
Secrets
Secrets delivered as files when the machines start (machines.*.secrets).
SecretOwners
A secret file owned by a given user or group (uid, gid).
ExternalNetworks
Joining an existing network by name (external), which the target never makes.
BridgedNetworks
Bridging a network to an interface of the host (bridged).
OwnedProjectFiles
A container’s file from the project with its own owner or mode (see crate::machine_files).
ExistingHostFiles
Files written on a host that already exists.
Tpm
A virtual TPM 2.0 in a VM.
MachineProcess
A process Isoloom starts on the machine: its own command (with its cwd) or
healthcheck.
OwnBoot
A VM booting its own way (vm.boot): a kernel, firmware, boot order or network boot.
ContainerGpus
GPUs for a container (gpus), from the host its runtime runs on.
ContainerDevices
The host’s devices for a container (devices).
ContainerNestedVirtualization
VMs inside a container (nested_virtualization): no backend has it.
VmGpus
GPUs for a VM (gpus): passed through, or sized in.
VmDevices
The host’s devices for a VM (devices): no backend has it.
NestedVirtualization
VMs inside a VM (nested_virtualization).
NetworkMtu
A network’s own MTU (mtu).
RateLimit
A bandwidth cap on a machine’s links (rate_limit).
PrivateDns
Names served under the environment’s private DNS zone (dns.private).
PersistentVolumes
Volumes kept past down (persistent).
ExternalVolumes
Volumes that exist already (external), mounted by name.
DataDisks
Data disks beside a machine’s own (disks).
RawDisks
Data disks left unformatted, as block devices (fs: raw).
TmpfsModes
A mode on a memory-backed mount (tmpfs[].mode).
VmMoreAddresses
Several addresses on one network for a VM (lan: [10, 11]), added by its set-up.
ContainerMoreAddresses
Several addresses on one network for a container or an existing host: no backend has it.
Implementations§
Trait Implementations§
impl Copy for Feature
impl Eq for Feature
Source§impl Ord for Feature
impl Ord for Feature
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for Feature
impl PartialOrd for Feature
impl StructuralPartialEq for Feature
Auto Trait Implementations§
impl Freeze for Feature
impl RefUnwindSafe for Feature
impl Send for Feature
impl Sync for Feature
impl Unpin for Feature
impl UnsafeUnpin for Feature
impl UnwindSafe for Feature
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.