Skip to content

Commit 4e4088e

Browse files
Merge pull request #1508 from caberos/issue1507
new feature licenses create-options
2 parents 1e392d5 + 40891d1 commit 4e4088e

File tree

6 files changed

+63
-2
lines changed

6 files changed

+63
-2
lines changed
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
"""Licenses order options for a given VMware licenses."""
2+
# :license: MIT, see LICENSE for more details.
3+
4+
import click
5+
6+
from SoftLayer.CLI import environment
7+
from SoftLayer.CLI import formatting
8+
from SoftLayer.managers.licenses import LicensesManager
9+
from SoftLayer import utils
10+
11+
12+
@click.command()
13+
@environment.pass_env
14+
def cli(env):
15+
"""Server order options for a given chassis."""
16+
17+
licenses_manager = LicensesManager(env.client)
18+
19+
options = licenses_manager.get_create_options()
20+
21+
table = formatting.Table(['Id', 'description', 'keyName', 'capacity', 'recurringFee'])
22+
for item in options:
23+
table.add_row([item.get('id'),
24+
utils.trim_to(item.get('description'), 40),
25+
item.get('keyName'),
26+
item.get('capacity'),
27+
item.get('prices')[0]['recurringFee']])
28+
29+
env.fout(table)

SoftLayer/CLI/routes.py

+3
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,9 @@
125125
('email:detail', 'SoftLayer.CLI.email.detail:cli'),
126126
('email:edit', 'SoftLayer.CLI.email.edit:cli'),
127127

128+
('licenses', 'SoftLayer.CLI.licenses'),
129+
('licenses:create-options', 'SoftLayer.CLI.licenses.create_options:cli'),
130+
128131
('event-log', 'SoftLayer.CLI.event_log'),
129132
('event-log:get', 'SoftLayer.CLI.event_log.get:cli'),
130133
('event-log:types', 'SoftLayer.CLI.event_log.types:cli'),

SoftLayer/fixtures/SoftLayer_Product_Package.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2076,7 +2076,7 @@
20762076
"itemId": 9567,
20772077
"laborFee": "0",
20782078
"locationGroupId": None,
2079-
"oneTimeFee": "0",
2079+
"recurringFee": "0",
20802080
"setupFee": "0",
20812081
"sort": 0,
20822082
}

SoftLayer/managers/licenses.py

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
"""
2+
SoftLayer.license
3+
~~~~~~~~~~~~~~~
4+
License Manager
5+
:license: MIT, see LICENSE for more details.
6+
"""
7+
8+
# pylint: disable=too-many-public-methods
9+
10+
LICENSE_PACKAGE_ID = 301
11+
12+
13+
class LicensesManager(object):
14+
"""Manages account lincese."""
15+
16+
def __init__(self, client):
17+
self.client = client
18+
19+
def get_create_options(self):
20+
"""Returns valid options for ordering Licenses.
21+
22+
"""
23+
24+
return self.client.call('SoftLayer_Product_Package', 'getItems',
25+
id=LICENSE_PACKAGE_ID)

docs/cli/licenses.rst

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
licenses Commands
44
=================
55

6+
.. click:: SoftLayer.CLI.licenses.create_options:cli
7+
:prog: licenses create-options
8+
69
.. click:: SoftLayer.CLI.licenses.create:cli
710
:prog: licenses create
811
:show-nested:

tests/CLI/modules/licenses_test.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
"""
77

88
from SoftLayer.fixtures import SoftLayer_Product_Order
9-
from SoftLayer.fixtures import SoftLayer_Product_Package
109

10+
from SoftLayer.fixtures import SoftLayer_Product_Package
1111
from SoftLayer import testing
1212

1313

@@ -31,4 +31,5 @@ def test_cancel(self):
3131
'cancel',
3232
'ABCDE-6CJ8L-J8R9H-000R0-CDR70',
3333
'--immediate'])
34+
result = self.run_command(['licenses', 'create-options'])
3435
self.assert_no_fail(result)

0 commit comments

Comments
 (0)