def uses_dnf(cls):
return {cls.CENTOS8, cls.CENTOS9, cls.CENTOS10, cls.FEDORA41}
+ @classmethod
+ def aliases(cls):
+ return {
+ str(cls.CENTOS10): cls.CENTOS10,
+ "centos10stream": cls.CENTOS10,
+ str(cls.CENTOS8): cls.CENTOS8,
+ str(cls.CENTOS9): cls.CENTOS9,
+ "centos9stream": cls.CENTOS9,
+ str(cls.FEDORA41): cls.FEDORA41,
+ "fc41": cls.FEDORA41,
+ str(cls.UBUNTU2204): cls.UBUNTU2204,
+ "ubuntu-jammy": cls.UBUNTU2204,
+ "jammy": cls.UBUNTU2204,
+ str(cls.UBUNTU2404): cls.UBUNTU2404,
+ "ubuntu-noble": cls.UBUNTU2404,
+ "noble": cls.UBUNTU2404,
+ }
+
+ @classmethod
+ def from_alias(cls, value):
+ return cls.aliases()[value]
+
class DefaultImage(StrEnum):
CENTOS10 = "quay.io/centos/centos:stream10"
parser.add_argument(
"--distro",
"-d",
- choices=[str(f) for f in DistroKind],
+ choices=DistroKind.aliases().keys(),
+ type=DistroKind.from_alias,
default=str(DistroKind.CENTOS9),
help="Specify a distro short name",
)