OXIESEC PANEL
- Current Dir:
/
/
snap
/
core
/
17200
/
usr
/
lib
/
python3
/
dist-packages
/
cloudinit
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📄
__init__.py
0 bytes
03/19/2021 02:37:22 PM
rw-r--r--
📁
__pycache__
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📁
analyze
-
02/18/2024 07:58:20 PM
rwxr-xr-x
📄
apport.py
4.08 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
atomic_helper.py
1.33 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
cloud.py
3.15 KB
03/19/2021 02:37:22 PM
rw-r--r--
📁
cmd
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📁
config
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📄
cs_utils.py
3 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
dhclient_hook.py
2.48 KB
03/19/2021 02:37:22 PM
rw-r--r--
📁
distros
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📄
dmi.py
5.63 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
ec2_utils.py
8.75 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
event.py
450 bytes
03/19/2021 02:37:22 PM
rw-r--r--
📄
features.py
2.03 KB
03/19/2021 02:37:22 PM
rw-r--r--
📁
filters
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📄
gpg.py
3.35 KB
03/19/2021 02:37:22 PM
rw-r--r--
📁
handlers
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📄
helpers.py
15.71 KB
04/25/2023 09:28:10 PM
rw-r--r--
📄
importer.py
1.38 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
log.py
4.33 KB
03/19/2021 02:37:22 PM
rw-r--r--
📁
mergers
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📁
net
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📄
netinfo.py
18.12 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
patcher.py
1.23 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
persistence.py
2.54 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
registry.py
1.01 KB
03/19/2021 02:37:22 PM
rw-r--r--
📁
reporting
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📄
safeyaml.py
1.19 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
serial.py
1.15 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
settings.py
1.89 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
signal_handler.py
1.8 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
simpletable.py
1.85 KB
03/19/2021 02:37:22 PM
rw-r--r--
📁
sources
-
02/18/2024 07:58:21 PM
rwxr-xr-x
📄
ssh_util.py
13.37 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
stages.py
38.67 KB
04/25/2023 09:28:10 PM
rw-r--r--
📄
subp.py
13.06 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
temp_utils.py
2.87 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
templater.py
6.4 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
type_utils.py
726 bytes
03/19/2021 02:37:22 PM
rw-r--r--
📄
url_helper.py
21.74 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
user_data.py
14.3 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
util.py
78.86 KB
03/19/2021 02:37:22 PM
rw-r--r--
📄
version.py
599 bytes
04/25/2023 09:28:48 PM
rw-r--r--
📄
warnings.py
3.83 KB
03/19/2021 02:37:22 PM
rw-r--r--
Editing: cloud.py
Close
# Copyright (C) 2012 Canonical Ltd. # Copyright (C) 2012 Hewlett-Packard Development Company, L.P. # Copyright (C) 2012 Yahoo! Inc. # # This file is part of cloud-init. See LICENSE file for license information. import copy import os from cloudinit import log as logging from cloudinit.reporting import events LOG = logging.getLogger(__name__) # This class is the high level wrapper that provides # access to cloud-init objects without exposing the stage objects # to handler and or module manipulation. It allows for cloud # init to restrict what those types of user facing code may see # and or adjust (which helps avoid code messing with each other) # # It also provides util functions that avoid having to know # how to get a certain member from this submembers as well # as providing a backwards compatible object that can be maintained # while the stages/other objects can be worked on independently... class Cloud(object): def __init__(self, datasource, paths, cfg, distro, runners, reporter=None): self.datasource = datasource self.paths = paths self.distro = distro self._cfg = cfg self._runners = runners if reporter is None: reporter = events.ReportEventStack( name="unnamed-cloud-reporter", description="unnamed-cloud-reporter", reporting_enabled=False) self.reporter = reporter # If a 'user' manipulates logging or logging services # it is typically useful to cause the logging to be # setup again. def cycle_logging(self): logging.resetLogging() logging.setupLogging(self.cfg) @property def cfg(self): # Ensure that cfg is not indirectly modified return copy.deepcopy(self._cfg) def run(self, name, functor, args, freq=None, clear_on_fail=False): return self._runners.run(name, functor, args, freq, clear_on_fail) def get_template_filename(self, name): fn = self.paths.template_tpl % (name) if not os.path.isfile(fn): LOG.warning("No template found in %s for template named %s", os.path.dirname(fn), name) return None return fn # The rest of these are just useful proxies def get_userdata(self, apply_filter=True): return self.datasource.get_userdata(apply_filter) def get_instance_id(self): return self.datasource.get_instance_id() @property def launch_index(self): return self.datasource.launch_index def get_public_ssh_keys(self): return self.datasource.get_public_ssh_keys() def get_locale(self): return self.datasource.get_locale() def get_hostname(self, fqdn=False, metadata_only=False): return self.datasource.get_hostname( fqdn=fqdn, metadata_only=metadata_only) def device_name_to_device(self, name): return self.datasource.device_name_to_device(name) def get_ipath_cur(self, name=None): return self.paths.get_ipath_cur(name) def get_cpath(self, name=None): return self.paths.get_cpath(name) def get_ipath(self, name=None): return self.paths.get_ipath(name) # vi: ts=4 expandtab