�
�f�
� �^ � d Z ddlZddlZddlmZ dZ dZ dZ dZ dZ dZ
deeef fd�Z
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)�DictTF�returnc �� � t j d j j � D � ci c]6 } t j
d| � r| t
t j d | � ��8 c} S c c} w )z@Return a dict of applicable features/overrides and their values.zcloudinit.featuresz^[_A-Z0-9]+$)�sys�modules�__dict__�keys�re�match�getattr)�ks �4/usr/lib/python3/dist-packages/cloudinit/features.py�get_featuresr [ sa � � ���1�2�;�;�@�@�B��
�
�8�8�O�Q�'�
�7�3�;�;�3�4�a�8�8�� �� s �;A,)�__doc__r
r �typingr �ERROR_ON_USER_DATA_FAILURE�+ALLOW_EC2_MIRRORS_ON_NON_AWS_INSTANCE_TYPES�EXPIRE_APPLIES_TO_HASHED_USERS�NETPLAN_CONFIG_ROOT_READ_ONLY�%NOCLOUD_SEED_URL_APPEND_FORWARD_SLASH�APT_DEB822_SOURCE_LIST_FILE�str�boolr � � r �<module>r su ���
�
� �!� � � /4� +��$ "&� �� !%� �� )-� %�� #� ���d�3��9�o� r |