f ^dZddlZddlZddlmZdZ dZ dZ dZ dZ dZ dee e ffdZ y)a? Feature flags are used as a way to easily toggle configuration **at build time**. They are provided to accommodate feature deprecation and downstream configuration changes. Currently used upstream values for feature flags are set in ``cloudinit/features.py``. Overrides to these values should be patched directly (e.g., via quilt patch) by downstreams. Each flag should include a short comment regarding the reason for the flag and intended lifetime. Tests are required for new feature flags, and tests must verify all valid states of a flag, not just the default state. N)DictTFreturnctjdjjDcic]6}t j d|r|t tjd|8c}Scc}w)z@Return a dict of applicable features/overrides and their values.zcloudinit.featuresz ^[_A-Z0-9]+$)sysmodules__dict__keysrematchgetattr)ks 4/usr/lib/python3/dist-packages/cloudinit/features.py get_featuresr[sa12;;@@B  88OQ ' 73;;34a 88  s;A,)__doc__r rtypingrERROR_ON_USER_DATA_FAILURE+ALLOW_EC2_MIRRORS_ON_NON_AWS_INSTANCE_TYPESEXPIRE_APPLIES_TO_HASHED_USERSNETPLAN_CONFIG_ROOT_READ_ONLY%NOCLOUD_SEED_URL_APPEND_FORWARD_SLASHAPT_DEB822_SOURCE_LIST_FILEstrboolrrrsu ! /4+$"&!%)-%#d39or