fe3ce923adb89e3effd1f1bd50b627317b2db0a6
[osm/N2VC.git] / juju / juju.py
1 class Juju(object):
2 def add_cloud(self, name, definition, replace=False):
3 """Add a user-defined cloud to Juju from among known cloud types.
4
5 :param str name: Name of cloud
6 :param dict definition: Cloud definition
7
8 Example cloud definition, as yaml::
9
10 type: openstack
11 auth-types: [ userpass ]
12 regions:
13 london:
14 endpoint: https://london.mycloud.com:35574/v3.0/
15
16 """
17 pass
18
19 def agree(self, *terms):
20 """Agree to the terms of a charm.
21
22 :param str \*terms: Terms to agree to
23
24 """
25 pass
26
27 def autoload_credentials(self):
28 """Finds cloud credentials and caches them for use by Juju when
29 bootstrapping.
30
31 """
32 pass
33
34 def create_budget(self):
35 """Create a new budget.
36
37 """
38 pass
39
40 def get_agreements(self):
41 """Return list of terms to which the current user has agreed.
42
43 """
44 pass
45
46 def get_budgets(self):
47 """Return list of available budgets.
48
49 """
50 pass
51
52 def get_clouds(self):
53 """Return list of all available clouds.
54
55 """
56 pass
57
58 def get_controllers(self):
59 """Return list of all available controllers.
60
61 (maybe move this to Cloud?)
62 """
63 pass
64
65 def get_plans(self, charm_url):
66 """Return list of plans available for the specified charm.
67
68 :param str charm_url: Charm url
69
70 """
71 pass
72
73 def register(self, registration_string):
74 """Register a user to a controller.
75
76 :param str registration_string: The registration string
77
78 """
79 pass
80
81 def set_budget(self, name, limit):
82 """Set a monthly budget limit.
83
84 :param str name: Name of budget
85 :param int limit: Monthly limit
86
87 """
88 pass
89
90 def get_cloud(self, name):
91 """Get a cloud by name.
92
93 :param str name: Name of cloud
94
95 """
96 pass
97
98 def get_controller(self, name, include_passwords=False):
99 """Get a controller by name.
100
101 :param str name: Name of controller
102 :param bool include_passwords: Include passwords for accounts
103
104 (maybe move this to Cloud?)
105 """
106 pass
107
108 def update_clouds(self):
109 """Update public cloud info available to Juju.
110
111 """
112 pass
113
114 def version(self):
115 """Return the Juju version.
116
117 """
118 pass