
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
\me                 @   sR   d Z ddlZddlZddlmZ dZdZdZdZdZ	dZ
eeef dddZdS )	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   dd t jd jj D S )z@Return a dict of applicable features/overrides and their values.c             S   s*   i | ]"}t jd |rttjd ||qS )z^[_A-Z0-9]+$zcloudinit.features)rematchgetattrsysmodules).0k r   /usr/lib/python3.6/features.py
<dictcomp>]   s   z get_features.<locals>.<dictcomp>zcloudinit.features)r   r   __dict__keysr   r   r   r   get_features[   s    r   )__doc__r   r   Ztypingr   ZERROR_ON_USER_DATA_FAILUREZ+ALLOW_EC2_MIRRORS_ON_NON_AWS_INSTANCE_TYPESZEXPIRE_APPLIES_TO_HASHED_USERSZNETPLAN_CONFIG_ROOT_READ_ONLYZ%NOCLOUD_SEED_URL_APPEND_FORWARD_SLASHZAPT_DEB822_SOURCE_LIST_FILEstrboolr   r   r   r   r   <module>   s   	
