/
snap
/
core18
/
2979
/
usr
/
lib
/
python3
/
dist-packages
/
cloudinit
/
/snap/core18/2979/usr/lib/python3/dist-packages/cloudinit
mkdir
upload
Name
Size
Mode
Actions
analyze/
-
0755
rm
cmd/
-
0755
rm
config/
-
0755
rm
distros/
-
0755
rm
filters/
-
0755
rm
handlers/
-
0755
rm
mergers/
-
0755
rm
net/
-
0755
rm
reporting/
-
0755
rm
sources/
-
0755
rm
__pycache__/
-
0755
rm
apport.py
5881
0644
edit
dl
rm
atomic_helper.py
1417
0644
edit
dl
rm
cloud.py
3574
0644
edit
dl
rm
dhclient_hook.py
2549
0644
edit
dl
rm
dmi.py
6979
0644
edit
dl
rm
event.py
2097
0644
edit
dl
rm
features.py
3146
0644
edit
dl
rm
gpg.py
4424
0644
edit
dl
rm
helpers.py
16828
0644
edit
dl
rm
importer.py
1789
0644
edit
dl
rm
log.py
4432
0644
edit
dl
rm
netinfo.py
23115
0644
edit
dl
rm
patcher.py
1130
0644
edit
dl
rm
persistence.py
2605
0644
edit
dl
rm
registry.py
1045
0644
edit
dl
rm
safeyaml.py
7905
0644
edit
dl
rm
settings.py
2041
0644
edit
dl
rm
signal_handler.py
1826
0644
edit
dl
rm
simpletable.py
1976
0644
edit
dl
rm
ssh_util.py
21211
0644
edit
dl
rm
stages.py
35311
0644
edit
dl
rm
subp.py
13558
0644
edit
dl
rm
templater.py
5965
0644
edit
dl
rm
temp_utils.py
3268
0644
edit
dl
rm
type_utils.py
726
0644
edit
dl
rm
url_helper.py
28628
0644
edit
dl
rm
user_data.py
14841
0644
edit
dl
rm
util.py
92622
0644
edit
dl
rm
version.py
596
0644
edit
dl
rm
warnings.py
3932
0644
edit
dl
rm
__init__.py
0
0644
edit
dl
rm
Edit:
/snap/core18/2979/usr/lib/python3/dist-packages/cloudinit/event.py
(2097B)
# This file is part of cloud-init. See LICENSE file for license information. """Classes and functions related to event handling.""" from enum import Enum from typing import Dict, Set from cloudinit import log as logging LOG = logging.getLogger(__name__) class EventScope(Enum): # NETWORK is currently the only scope, but we want to leave room to # grow other scopes (e.g., STORAGE) without having to make breaking # changes to the user config NETWORK = "network" def __str__(self): # pylint: disable=invalid-str-returned return self.value class EventType(Enum): """Event types which can generate maintenance requests for cloud-init.""" # Cloud-init should grow support for the follow event types: # HOTPLUG # METADATA_CHANGE # USER_REQUEST BOOT = "boot" BOOT_NEW_INSTANCE = "boot-new-instance" BOOT_LEGACY = "boot-legacy" HOTPLUG = "hotplug" def __str__(self): # pylint: disable=invalid-str-returned return self.value def userdata_to_events(user_config: dict) -> Dict[EventScope, Set[EventType]]: """Convert userdata into update config format defined on datasource. Userdata is in the form of (e.g): {'network': {'when': ['boot']}} DataSource config is in the form of: {EventScope.Network: {EventType.BOOT}} Take the first and return the second """ update_config = {} for scope, scope_list in user_config.items(): try: new_scope = EventScope(scope) except ValueError as e: LOG.warning( "%s! Update data will be ignored for '%s' scope", str(e), scope, ) continue try: new_values = [EventType(x) for x in scope_list["when"]] except ValueError as e: LOG.warning( "%s! Update data will be ignored for '%s' scope", str(e), scope, ) new_values = [] update_config[new_scope] = set(new_values) return update_config # vi: ts=4 expandtab
Save
cmd:
run