|
| 1 | +from enum import Enum |
| 2 | + |
| 3 | + |
| 4 | +class OpenLabsOS(Enum): |
| 5 | + """OpenLabs supported OS.""" |
| 6 | + |
| 7 | + DEBIAN_11 = "debian_11" # Debian 11 |
| 8 | + DEBIAN_12 = "debian_12" # Debian 12 |
| 9 | + UBUNTU_20 = "ubuntu_20" # Debian 20.04 |
| 10 | + UBUNTU_22 = "ubuntu_22" # Ubuntu 22.04 |
| 11 | + UBUNTU_24 = "ubuntu_24" # Ubuntu 24.04 |
| 12 | + SUSE_12 = "suse_12" # SUSE 12 |
| 13 | + SUSE_15 = "suse_15" # SUSE 15 |
| 14 | + # CENTOS_9 = "centos_9" # CentOS Stream 9 |
| 15 | + # CENTOS_10 = "centos_10" # CentOS Stream 10 |
| 16 | + KALI = "kali" # Kali Linux |
| 17 | + WINDOWS_10 = "windows_10" # Windows 10 |
| 18 | + WINDOWS_11 = "windows_11" # Windows 11 |
| 19 | + WINDOWS_2016 = "windows_2016" # Windows Server 2016 |
| 20 | + WINDOWS_2019 = "windows_2019" # Windows Server 2019 |
| 21 | + WINDOWS_2022 = "windows_2022" # Windows Server 2022 |
| 22 | + |
| 23 | + |
| 24 | +# Using AWS ami |
| 25 | +AWS_OS_MAP = { |
| 26 | + # Debian - https://wiki.debian.org/Cloud/AmazonEC2Image |
| 27 | + OpenLabsOS.DEBIAN_11: "ami-053413bdacb39d8dc", |
| 28 | + OpenLabsOS.DEBIAN_12: "ami-0e8087266e36fe754", |
| 29 | + # Ubuntu - https://cloud-images.ubuntu.com/locator/ec2/ |
| 30 | + OpenLabsOS.UBUNTU_20: "ami-014f7ab33242ea43c", |
| 31 | + OpenLabsOS.UBUNTU_22: "ami-0e1bed4f06a3b463d", |
| 32 | + OpenLabsOS.UBUNTU_24: "ami-04b4f1a9cf54c11d0", |
| 33 | + # SUSE |
| 34 | + OpenLabsOS.SUSE_12: "ami-0d6a3fb3bfdd87b52", |
| 35 | + OpenLabsOS.SUSE_15: "ami-0d9f9dbae7b9a241d", |
| 36 | + # CentOS - https://www.centos.org/download/aws-images/ |
| 37 | + # OpenLabsOS.CENTOS_9 : "ami-0705f7887207411ca" |
| 38 | + # OpenLabsOS.CENTOS_10 : "ami-03753625d82454d04" |
| 39 | + # Kali - https://aws.amazon.com/marketplace/server/configuration?productId=804fcc46-63fc-4eb6-85a1-50e66d6c7215 |
| 40 | + OpenLabsOS.KALI: "ami-02be3d7604aff56a7", |
| 41 | + # Windows |
| 42 | + OpenLabsOS.WINDOWS_2016: "ami-032ec7a32b7fb247c", |
| 43 | + OpenLabsOS.WINDOWS_2019: "ami-049dd04cca2dc5594", |
| 44 | + OpenLabsOS.WINDOWS_2022: "ami-0a0ebee827a585d06", |
| 45 | +} |
| 46 | + |
| 47 | + |
| 48 | +# URN formatted as <publisher>:<offer>:<sku>:<version> |
| 49 | +AZURE_OS_MAP = { |
| 50 | + # Debian - https://wiki.debian.org/Cloud/MicrosoftAzure |
| 51 | + OpenLabsOS.DEBIAN_11: "Debian:debian-11:11-backports-gen2:latest", |
| 52 | + OpenLabsOS.DEBIAN_12: "Debian:debian-12:12-gen2:latest", |
| 53 | + # Ubuntu - https://documentation.ubuntu.com/azure/en/latest/azure-how-to/instances/find-ubuntu-images/ |
| 54 | + OpenLabsOS.UBUNTU_20: "Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:latest", |
| 55 | + OpenLabsOS.UBUNTU_22: "Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest", |
| 56 | + OpenLabsOS.UBUNTU_24: "Canonical:ubuntu-24_04-lts:server:latest", |
| 57 | + # SUSE |
| 58 | + OpenLabsOS.SUSE_12: "SUSE:sles-12-sp5:gen2:latest", |
| 59 | + OpenLabsOS.SUSE_15: "SUSE:sles-15-sp5:gen2:latest", |
| 60 | + # CentOS |
| 61 | + # OpenLabsOS.CENTOS_9 : "" |
| 62 | + # OpenLabsOS.CENTOS_10 : "" |
| 63 | + # Kali |
| 64 | + OpenLabsOS.KALI: "kali-linux:kali:kali-2024-4:2024.4.1", |
| 65 | + # Windows |
| 66 | + OpenLabsOS.WINDOWS_2016: "MicrosoftWindowsServer:WindowsServer:2016-datacenter-gensecond:latest", |
| 67 | + OpenLabsOS.WINDOWS_2019: "MicrosoftWindowsServer:WindowsServer:2019-datacenter-gensecond:latest", |
| 68 | + OpenLabsOS.WINDOWS_2022: "MicrosoftWindowsServer:WindowsServer:2022-datacenter-g2:latest", |
| 69 | +} |
0 commit comments