Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions SoftLayer/CLI/licenses/create_options.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
"""Licenses order options for a given VMware licenses."""
# :license: MIT, see LICENSE for more details.

import click

from SoftLayer.CLI import environment
from SoftLayer.CLI import formatting
from SoftLayer.managers.licenses import LicensesManager
from SoftLayer import utils


@click.command()
@environment.pass_env
def cli(env):
"""Server order options for a given chassis."""

licenses_manager = LicensesManager(env.client)

options = licenses_manager.get_create_options()

table = formatting.Table(['Id', 'description', 'keyName', 'capacity', 'recurringFee'])
for item in options:
table.add_row([item.get('id'),
utils.trim_to(item.get('description'), 40),
item.get('keyName'),
item.get('capacity'),
item.get('prices')[0]['recurringFee']])

env.fout(table)
3 changes: 3 additions & 0 deletions SoftLayer/CLI/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,9 @@
('email:detail', 'SoftLayer.CLI.email.detail:cli'),
('email:edit', 'SoftLayer.CLI.email.edit:cli'),

('licenses', 'SoftLayer.CLI.licenses'),
('licenses:create-options', 'SoftLayer.CLI.licenses.create_options:cli'),

('event-log', 'SoftLayer.CLI.event_log'),
('event-log:get', 'SoftLayer.CLI.event_log.get:cli'),
('event-log:types', 'SoftLayer.CLI.event_log.types:cli'),
Expand Down
2 changes: 1 addition & 1 deletion SoftLayer/fixtures/SoftLayer_Product_Package.py
Original file line number Diff line number Diff line change
Expand Up @@ -2076,7 +2076,7 @@
"itemId": 9567,
"laborFee": "0",
"locationGroupId": None,
"oneTimeFee": "0",
"recurringFee": "0",
"setupFee": "0",
"sort": 0,
}
Expand Down
25 changes: 25 additions & 0 deletions SoftLayer/managers/licenses.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
"""
SoftLayer.license
~~~~~~~~~~~~~~~
License Manager
:license: MIT, see LICENSE for more details.
"""

# pylint: disable=too-many-public-methods

LICENSE_PACKAGE_ID = 301


class LicensesManager(object):
"""Manages account lincese."""

def __init__(self, client):
self.client = client

def get_create_options(self):
"""Returns valid options for ordering Licenses.

"""

return self.client.call('SoftLayer_Product_Package', 'getItems',
id=LICENSE_PACKAGE_ID)
3 changes: 3 additions & 0 deletions docs/cli/licenses.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
licenses Commands
=================

.. click:: SoftLayer.CLI.licenses.create_options:cli
:prog: licenses create-options

.. click:: SoftLayer.CLI.licenses.create:cli
:prog: licenses create
:show-nested:
Expand Down
3 changes: 2 additions & 1 deletion tests/CLI/modules/licenses_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"""

from SoftLayer.fixtures import SoftLayer_Product_Order
from SoftLayer.fixtures import SoftLayer_Product_Package

from SoftLayer.fixtures import SoftLayer_Product_Package
from SoftLayer import testing


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