#![allow(dead_code)] // SPDX-License-Identifier: Apache-2.0 use rand::Rng; pub fn random_app_name() -> String { let mut rng = rand::thread_rng(); let random_index = rng.gen_range(0..APP_ADJECTIVES.len()); let adjective = APP_ADJECTIVES[random_index].to_string(); let random_index = rng.gen_range(0..APP_SUBSTANTIVES.len()); let substantive = APP_SUBSTANTIVES[random_index].to_string(); let app_name = adjective + "-" + &substantive; eprintln!("No app name specified! Using random app name: {}", app_name); app_name } pub fn random_vm_name() -> String { let mut rng = rand::thread_rng(); let random_index = rng.gen_range(0..77); let adjective = VM_ADJECTIVES[random_index].to_string(); let random_index = rng.gen_range(0..97); let substantive = VM_SUBSTANTIVES[random_index].to_string(); let vm_name = adjective + "-" + &substantive; eprintln!("No hostname specified! Using random VM name: {}", vm_name); vm_name } const VM_ADJECTIVES: [&str; 77] = [ "ancient", "arcane", "astromech", "brave", "celestial", "chaotic", "charismatic", "cloaked", "commanding", "cosmic", "cruel", "cursed", "malefic", "defiant", "devious", "divine", "dreadful", "enchanted", "energetic", "eternal", "ethereal", "explosive", "elegant", "fearsome", "fierce", "forbidden", "fragile", "frozen", "futuristic", "galactic", "glorious", "grim", "haunted", "heroic", "hyperspace", "immortal", "imperial", "infernal", "intergalactic", "intrepid", "legendary", "luminous", "magical", "majestic", "merciless", "mighty", "mysterious", "mystic", "mystical", "mythical", "noble", "planetary", "powerful", "primal", "radiant", "rebel", "relentless", "resolute", "ruthless", "sacred", "savage", "sensitive", "shadowy", "shimmering", "starry", "stealthy", "strategic", "swift", "tactical", "treacherous", "undying", "unyielding", "vengeful", "villainous", "wicked", "wondrous", "wretched", ]; const VM_SUBSTANTIVES: [&str; 97] = [ "axe", "bed", "bag", "bit", "blade", "hobo", "blanket", "blender", "bolt", "bowl", "broom", "brush", "bucket", "cabinet", "caliper", "candle", "chain", "chair", "charger", "chisel", "clock", "compass", "couch", "foot", "crowbar", "curtain", "door", "drill", "faucet", "file", "fork", "frame", "dog", "cat", "fridge", "grinder", "hammer", "handle", "hanger", "hinge", "holster", "iron", "kettle", "knife", "lamp", "basket", "lever", "mallet", "mattress", "microwave", "mirror", "mop", "mug", "nail", "pan", "pickaxe", "pillow", "plane", "plate", "pot", "bar", "punch", "ratchet", "river", "rug", "bottle", "jar", "ruler", "mailbox", "sandpaper", "saw", "scissors", "screw", "screwdriver", "shears", "shelf", "shovel", "sink", "soap", "socket", "spanner", "sponge", "spoon", "stapler", "stove", "table", "tape", "thermometer", "toaster", "towel", "trashcan", "trowel", "vacuum", "vase", "vice", "whetstone", "wrench", ]; const APP_ADJECTIVES: [&str; 100] = [ "active", "adaptable", "adventurour", "affectionate", "alert", "artistic", "assertive", "boundless", "brave", "broad-minded", "calm", "capable", "careful", "caring", "cheerful", "clever", "comfortable", "communicative", "compassionate", "conscientious", "considerate", "courageous", "creative", "curous", "decisive", "determined", "diligent", "dynamic", "eager", "energetic", "entertaining", "enthusiastic", "exuberant", "expressive", "fabulous", "fair-minded", "fantastic", "fearless", "flexible thinker", "frank", "friendly", "funny", "generous", "gentle", "gregarious", "happy", "hard working", "helpful", "hilarious", "honest", "imaginative", "independent", "intellectual", "intelligent", "intuitive", "inventive", "joyous", "kind", "kind-hearted", "knowledgable", "level-headed", "lively", "loving", "loyal", "mature", "modest", "optimistic", "outgoing", "passionate", "patient", "persistent", "philosophical", "polite", "practical", "pro-active", "productive", "quick-witted", "quiet", "rational", "receptive", "reflective", "reliable", "resourceful", "responsible", "selective", "self-confident", "sensible", "sensitive", "skillful", "straightforward", "successful", "thoughtful", "trustworthy", "understanding", "versatile", "vivacious", "warm-hearted", "willing", "witty", "wonderful", ]; const APP_SUBSTANTIVES: [&str; 70] = [ "kitten", "puppy", "bunny", "hamster", "chinchilla", "goldfish", "parakeet", "duckling", "fawn", "piglet", "lamb", "foal", "guinea-pig", "hedgehog", "squirrel", "otter", "panda-cub", "koala", "meerkat", "ferret", "turtle", "chick", "mouse", "pony", "seal", "sloth", "raccoon", "calf", "cub", "joey", "gerbil", "sugar-glider", "chickadee", "parrotlet", "pika", "dove", "lemur", "red-panda", "budgie", "axolotl", "penguin chick", "shrew", "fennec-fox", "opossum", "fox-kit", "vole", "dormouse", "finch", "canary", "lovebird", "seahorse", "starfish", "penguin", "ladybug", "butterfly", "firefly", "quokka", "capybara", "dachshund", "newt", "tadpole", "salamander", "cricket", "corgi", "pomeranian", "maltese", "cockatiel", "chameleon", "gecko", "zebra", ];