3 \�me� � @ sR d Z ddlZddlZddlmZ dZdZdZdZdZ dZ eeef d�dd�Z dS ) 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)�DictTF)�returnc C s dd� t jd jj� D �S )z@Return a dict of applicable features/overrides and their values.c S s* i | ]"}t jd |�rttjd |�|�qS )z^[_A-Z0-9]+$zcloudinit.features)�re�match�getattr�sys�modules)�.0�k� r �/usr/lib/python3.6/features.py� <dictcomp>] s z get_features.<locals>.<dictcomp>zcloudinit.features)r r �__dict__�keysr r r r �get_features[ s r )�__doc__r r Ztypingr ZERROR_ON_USER_DATA_FAILUREZ+ALLOW_EC2_MIRRORS_ON_NON_AWS_INSTANCE_TYPESZEXPIRE_APPLIES_TO_HASHED_USERSZNETPLAN_CONFIG_ROOT_READ_ONLYZ%NOCLOUD_SEED_URL_APPEND_FORWARD_SLASHZAPT_DEB822_SOURCE_LIST_FILE�str�boolr r r r r �<module> s