X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=modules%2Flibjuju%2Fjuju%2Fjuju.py;fp=modules%2Flibjuju%2Fjuju%2Fjuju.py;h=a9fcbbeb20d5e4e8fbdd357c1e9eff9f9ce20322;hp=0000000000000000000000000000000000000000;hb=68858c1915122c2dbc8999a5cd3229694abf5f3a;hpb=032a71b2a6692b8b4e30f629a1f906d246f06736 diff --git a/modules/libjuju/juju/juju.py b/modules/libjuju/juju/juju.py new file mode 100644 index 0000000..a9fcbbe --- /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()