PHP 8.5.2
Preview: features.py Size: 3.38 KB
//usr/lib/python3/dist-packages/cloudinit/features.py

# This file is part of cloud-init. See LICENSE file for license information.
"""
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.
"""
import re
import sys
from typing import Dict

ERROR_ON_USER_DATA_FAILURE = True
"""
If there is a failure in obtaining user data (i.e., #include or
decompress fails) and ``ERROR_ON_USER_DATA_FAILURE`` is ``False``,
cloud-init will log a warning and proceed.  If it is ``True``,
cloud-init will instead raise an exception.

As of 20.3, ``ERROR_ON_USER_DATA_FAILURE`` is ``True``.

(This flag can be removed after Focal is no longer supported.)
"""


ALLOW_EC2_MIRRORS_ON_NON_AWS_INSTANCE_TYPES = False
"""
When configuring apt mirrors, if
``ALLOW_EC2_MIRRORS_ON_NON_AWS_INSTANCE_TYPES`` is ``True`` cloud-init
will detect that a datasource's ``availability_zone`` property looks
like an EC2 availability zone and set the ``ec2_region`` variable when
generating mirror URLs; this can lead to incorrect mirrors being
configured in clouds whose AZs follow EC2's naming pattern.

As of 20.3, ``ALLOW_EC2_MIRRORS_ON_NON_AWS_INSTANCE_TYPES`` is ``False``
so we no longer include ``ec2_region`` in mirror determination on
non-AWS cloud platforms.

If the old behavior is desired, users can provide the appropriate
mirrors via :py:mod:`apt: <cloudinit.config.cc_apt_configure>`
directives in cloud-config.
"""


EXPIRE_APPLIES_TO_HASHED_USERS = True
"""
If ``EXPIRE_APPLIES_TO_HASHED_USERS`` is True, then when expire is set true
in cc_set_passwords, hashed passwords will be expired. Previous to 22.3,
only non-hashed passwords were expired.

(This flag can be removed after Jammy is no longer supported.)
"""

NETPLAN_CONFIG_ROOT_READ_ONLY = True
"""
If ``NETPLAN_CONFIG_ROOT_READ_ONLY`` is True, then netplan configuration will
be written as a single root read-only file /etc/netplan/50-cloud-init.yaml.
This prevents wifi passwords in network v2 configuration from being
world-readable. Prior to 23.1, netplan configuration is world-readable.

(This flag can be removed after Jammy is no longer supported.)
"""


NOCLOUD_SEED_URL_APPEND_FORWARD_SLASH = True
"""
Append a forward slash '/' if NoCloud seedurl does not end with either
a querystring or forward slash. Prior to 23.1, nocloud seedurl would be used
unaltered, appending meta-data, user-data and vendor-data to without URL path
separators.

(This flag can be removed when Jammy is no longer supported.)
"""

APT_DEB822_SOURCE_LIST_FILE = True
"""
On Debian and Ubuntu systems, cc_apt_configure will write a deb822 compatible
/etc/apt/sources.list.d/(debian|ubuntu).sources file. When set False, continue
to write /etc/apt/sources.list directly.
"""


def get_features() -> Dict[str, bool]:
    """Return a dict of applicable features/overrides and their values."""
    return {
        k: getattr(sys.modules["cloudinit.features"], k)
        for k in sys.modules["cloudinit.features"].__dict__.keys()
        if re.match(r"^[_A-Z0-9]+$", k)
    }

Directory Contents

Dirs: 11 × Files: 29

Name Size Perms Modified Actions
analyze DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
cmd DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
config DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
distros DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
filters DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
handlers DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
mergers DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
net DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
reporting DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
sources DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
- drwxr-xr-x 2026-01-23 08:58:13
Edit Download
10.10 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
2.45 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
3.71 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
7.78 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
2.00 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
3.38 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
4.28 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
15.99 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
2.43 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
6.00 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
22.97 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
2.52 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
1022 B lrw-r--r-- 2024-03-27 13:14:04
Edit Download
10.28 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
2.06 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
1.74 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
1.93 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
22.20 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
38.76 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
12.50 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
7.64 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
3.15 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
703 B lrw-r--r-- 2024-03-27 13:14:04
Edit Download
28.06 KB lrw-r--r-- 2024-04-05 23:18:48
Edit Download
14.44 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
97.25 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
560 B lrw-r--r-- 2024-04-05 23:18:48
Edit Download
3.76 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
0 B lrw-r--r-- 2024-03-27 13:14:04
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).