summaryrefslogtreecommitdiff
path: root/cloudinit/cloud.py
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/cloud.py')
-rw-r--r--cloudinit/cloud.py109
1 files changed, 0 insertions, 109 deletions
diff --git a/cloudinit/cloud.py b/cloudinit/cloud.py
deleted file mode 100644
index 3e6be203..00000000
--- a/cloudinit/cloud.py
+++ /dev/null
@@ -1,109 +0,0 @@
-# vi: ts=4 expandtab
-#
-# Copyright (C) 2012 Canonical Ltd.
-# Copyright (C) 2012 Hewlett-Packard Development Company, L.P.
-# Copyright (C) 2012 Yahoo! Inc.
-#
-# Author: Scott Moser <scott.moser@canonical.com>
-# Author: Juerg Haefliger <juerg.haefliger@hp.com>
-# Author: Joshua Harlow <harlowja@yahoo-inc.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3, as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-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 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.warn("No template found at %s for template named %s", fn, name)
- return None
- return fn
-
- # The rest of thes 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):
- return self.datasource.get_hostname(fqdn=fqdn)
-
- 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)