Module utils.data_generator
Module de génération de données factices avec Faker.
Génère des données réalistes pour les utilisateurs et les machines virtuelles.
-
class utils.data_generator.VMDataGenerator[source]
Bases: object
Générateur de données pour les machines virtuelles.
-
OPERATING_SYSTEMS = ['Ubuntu 22.04 LTS', 'Ubuntu 20.04 LTS', 'CentOS 8', 'Red Hat Enterprise Linux 8', 'Windows Server 2022', 'Windows Server 2019', 'Debian 11', 'SUSE Linux Enterprise Server 15', 'AlmaLinux 8', 'Rocky Linux 8', 'Fedora 38', 'openSUSE Leap 15.4']
-
VM_STATUSES = ['running', 'stopped', 'paused', 'provisioning', 'deleting']
-
STATUS_PROBABILITIES = {'deleting': 0.05, 'paused': 0.05, 'provisioning': 0.05, 'running': 0.6, 'stopped': 0.25}
-
classmethod generate_vm_name()[source]
Génère un nom réaliste pour une VM.
- Return type:
str
-
classmethod generate_cpu_cores()[source]
Génère un nombre réaliste de cœurs CPU.
- Return type:
int
-
classmethod generate_ram_gb()[source]
Génère une quantité réaliste de RAM.
- Return type:
int
-
classmethod generate_disk_gb()[source]
Génère une taille réaliste de disque.
- Return type:
int
-
classmethod generate_status()[source]
Génère un statut réaliste basé sur les probabilités.
- Return type:
str
-
classmethod generate_vm(user_id, vm_id)[source]
Génère une VM complète avec des données réalistes.
- Parameters:
-
- Return type:
Dict[str, Any]
-
class utils.data_generator.UserDataGenerator[source]
Bases: object
Générateur de données pour les utilisateurs.
-
COMPANY_DOMAINS = ['gmail.com', 'outlook.com', 'yahoo.com', 'hotmail.com', 'company.com', 'entreprise.fr', 'corp.com', 'business.org', 'tech.io', 'startup.com', 'innovation.fr', 'digital.net']
-
classmethod generate_email(name)[source]
Génère un email réaliste basé sur le nom.
- Parameters:
name (str)
- Return type:
str
-
classmethod generate_user(user_id)[source]
Génère un utilisateur complet avec des données réalistes.
- Parameters:
user_id (int)
- Return type:
Dict[str, Any]
-
class utils.data_generator.DataGenerator[source]
Bases: object
Générateur principal pour créer des datasets complets.
-
classmethod generate_users_with_vms(user_count=50, vm_per_user_range=(0, 5))[source]
Génère un dataset complet d’utilisateurs avec leurs VMs.
- Parameters:
user_count (int) – Nombre d’utilisateurs à générer
vm_per_user_range (tuple) – Tuple (min, max) du nombre de VMs par utilisateur
- Return type:
List[Dict[str, Any]]
- Returns:
Liste des utilisateurs avec leurs VMs associées
-
classmethod generate_vms_only(vm_count, user_ids)[source]
Génère uniquement des VMs pour des utilisateurs existants.
- Parameters:
-
- Return type:
List[Dict[str, Any]]
- Returns:
Liste des VMs générées