X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=modules%2Flibjuju%2Fjuju%2Fcloud.py;fp=modules%2Flibjuju%2Fjuju%2Fcloud.py;h=e4793ee5ea682e40566edfe330bc90391c0898d9;hp=0000000000000000000000000000000000000000;hb=e2051cca7dac12aa09f6ed33555dcc4548c4b52b;hpb=9d18c22a0dc9e295adda50601fc5e2f45d2c9b8a diff --git a/modules/libjuju/juju/cloud.py b/modules/libjuju/juju/cloud.py new file mode 100644 index 0000000..e4793ee --- /dev/null +++ b/modules/libjuju/juju/cloud.py @@ -0,0 +1,81 @@ +class Cloud(object): + """Cloud + + :ivar name: Name of the cloud + + """ + def add_credential(self, credential): + """Add or replaces credentials for this cloud. + + :param `juju.Credential` credential: The Credential to add + + """ + raise NotImplementedError() + + def get_credentials(self): + """Return list of all credentials for this cloud. + + """ + raise NotImplementedError() + + def remove_credential(self, credential_name): + """Remove a credential for this cloud. + + :param str credential_name: Name of the credential to remove + + """ + raise NotImplementedError() + + def bootstrap( + self, controller_name, region=None, agent_version=None, + auto_upgrade=False, bootstrap_constraints=None, + bootstrap_series=None, config=None, constraints=None, + credential=None, default_model=None, keep_broken=False, + metadata_source=None, no_gui=False, to=None, + upload_tools=False): + + """Initialize a cloud environment. + + :param str controller_name: Name of controller to create + :param str region: Cloud region in which to bootstrap + :param str agent_version: Version of tools to use for Juju agents + :param bool auto_upgrade: Upgrade to latest path release tools on first + bootstrap + :param bootstrap_constraints: Constraints for the bootstrap machine + :type bootstrap_constraints: :class:`juju.Constraints` + :param str bootstrap_series: Series of the bootstrap machine + :param dict config: Controller configuration + :param constraints: Default constraints for all future workload + machines + :type constraints: :class:`juju.Constraints` + :param credential: Credential to use when bootstrapping + :type credential: :class:`juju.Credential` + :param str default_model: Name to give the default model + :param bool keep_broken: Don't destroy model if bootstrap fails + :param str metadata_source: Local path to use as tools and/or metadata + source + :param bool no_gui: Don't install the Juju GUI in the controller when + bootstrapping + :param str to: Placement directive for bootstrap node (typically used + with MAAS) + :param bool upload_tools: Upload local version of tools before + bootstrapping + + """ + raise NotImplementedError() + + def set_default_credential(self, credential_name): + """Set the default credentials for this cloud. + + :param str credential_name: Credential to make default + + """ + raise NotImplementedError() + + def set_default_region(self, region): + """Set the default region for this cloud. + + :param str region: Name of region to make default + + """ + raise NotImplementedError()