space-separated list. If multiple image version constraints are specified, all
must be satisfied for the match to succeed.
+`Bootable=`
+
+: Matches against the configured value for the `Bootable=` feature. Takes a boolean value or `auto`. Multiple
+ values may be specified, separated by commas. If multiple values are specified, the condition is satisfied
+ if the current value of the `Bootable=` feature matches any of the specified values.
+
| Matcher | Multiple Values | Globs | Rich Comparisons | Default |
|-----------------|-----------------|-------|------------------|-------------------------|
| `Distribution=` | yes | no | no | match host distribution |
| `PathExists=` | no | no | no | match fails |
| `ImageId=` | yes | yes | no | match fails |
| `ImageVersion=` | yes | no | yes | match fails |
+| `Bootable=` | yes | no | no | match auto feature |
### [Distribution] Section
return cast(bool, getattr(namespace, dest) == parse_boolean(value))
-def config_parse_feature(dest: str, value: Optional[str], namespace: argparse.Namespace) -> ConfigFeature:
- if dest in namespace:
- return getattr(namespace, dest) # type: ignore
-
+def parse_feature(value: Optional[str]) -> ConfigFeature:
if not value or value == ConfigFeature.auto.value:
return ConfigFeature.auto
return ConfigFeature.enabled if parse_boolean(value) else ConfigFeature.disabled
+def config_parse_feature(dest: str, value: Optional[str], namespace: argparse.Namespace) -> ConfigFeature:
+ if dest in namespace:
+ return getattr(namespace, dest) # type: ignore
+
+ return parse_feature(value)
+
+
def config_parse_compression(dest: str, value: Optional[str], namespace: argparse.Namespace) -> Optional[Compression]:
if dest in namespace:
return getattr(namespace, dest) # type: ignore
dest="bootable",
section="Content",
parse=config_parse_feature,
+ match=config_make_list_matcher(delimiter=",", parse=parse_feature),
),
MkosiConfigSetting(
dest="password",