45e5c9ec8c8fc49b5442df7ba7cc615e549cbba1
[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 """
77 pass
78
79 def set_budget(self, name, amount):
80 """Set a budget limit.
81
82 """
83 pass
84
85 def get_cloud(self, name):
86 """Get a cloud by name.
87
88 """
89 pass
90
91 def get_controller(self):
92 """Get a controller by name.
93
94 (maybe move this to Cloud?)
95 """
96 pass
97
98 def update_clouds(self):
99 """Update public cloud info available to Juju.
100
101 """
102 pass
103
104 def version(self):
105 """Return the Juju version.
106
107 """
108 pass