X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=modules%2Flibjuju%2Fjuju%2Fjuju.py;fp=modules%2Flibjuju%2Fjuju%2Fjuju.py;h=444155f1ae543c2fd831e83e87f4069978a6b8be;hb=e2051cca7dac12aa09f6ed33555dcc4548c4b52b;hp=0000000000000000000000000000000000000000;hpb=9d18c22a0dc9e295adda50601fc5e2f45d2c9b8a;p=osm%2FN2VC.git diff --git a/modules/libjuju/juju/juju.py b/modules/libjuju/juju/juju.py new file mode 100644 index 0000000..444155f --- /dev/null +++ b/modules/libjuju/juju/juju.py @@ -0,0 +1,118 @@ +class Juju(object): + def add_cloud(self, name, definition, replace=False): + """Add a user-defined cloud to Juju from among known cloud types. + + :param str name: Name of cloud + :param dict definition: Cloud definition + + Example cloud definition, as yaml:: + + type: openstack + auth-types: [ userpass ] + regions: + london: + endpoint: https://london.mycloud.com:35574/v3.0/ + + """ + raise NotImplementedError() + + def agree(self, *terms): + """Agree to the terms of a charm. + + :param str *terms: Terms to agree to + + """ + raise NotImplementedError() + + def autoload_credentials(self): + """Finds cloud credentials and caches them for use by Juju when + bootstrapping. + + """ + raise NotImplementedError() + + def create_budget(self): + """Create a new budget. + + """ + raise NotImplementedError() + + def get_agreements(self): + """Return list of terms to which the current user has agreed. + + """ + raise NotImplementedError() + + def get_budgets(self): + """Return list of available budgets. + + """ + raise NotImplementedError() + + def get_clouds(self): + """Return list of all available clouds. + + """ + raise NotImplementedError() + + def get_controllers(self): + """Return list of all available controllers. + + (maybe move this to Cloud?) + """ + raise NotImplementedError() + + def get_plans(self, charm_url): + """Return list of plans available for the specified charm. + + :param str charm_url: Charm url + + """ + raise NotImplementedError() + + def register(self, registration_string): + """Register a user to a controller. + + :param str registration_string: The registration string + + """ + raise NotImplementedError() + + def set_budget(self, name, limit): + """Set a monthly budget limit. + + :param str name: Name of budget + :param int limit: Monthly limit + + """ + raise NotImplementedError() + + def get_cloud(self, name): + """Get a cloud by name. + + :param str name: Name of cloud + + """ + raise NotImplementedError() + + def get_controller(self, name, include_passwords=False): + """Get a controller by name. + + :param str name: Name of controller + :param bool include_passwords: Include passwords for accounts + + (maybe move this to Cloud?) + """ + raise NotImplementedError() + + def update_clouds(self): + """Update public cloud info available to Juju. + + """ + raise NotImplementedError() + + def version(self): + """Return the Juju version. + + """ + raise NotImplementedError()