Skip to content

Commit e05c70c

Browse files
committed
Added load balancer detail by name
1 parent d205fee commit e05c70c

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

SoftLayer/CLI/loadbal/detail.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import SoftLayer
55
from SoftLayer.CLI import environment
6+
from SoftLayer.CLI import exceptions
67
from SoftLayer.CLI import formatting
78
from SoftLayer import utils
89

@@ -13,8 +14,15 @@
1314
def cli(env, identifier):
1415
"""Get Load Balancer as a Service details."""
1516
mgr = SoftLayer.LoadBalancerManager(env.client)
16-
_, lbid = mgr.get_lbaas_uuid_id(identifier)
17-
this_lb = mgr.get_lb(lbid)
17+
18+
if utils.valid_domain(identifier):
19+
lbaas = mgr.get_lbaas_by_address(identifier)
20+
if not lbaas:
21+
raise exceptions.CLIAbort("{} address not found".format(identifier))
22+
this_lb = mgr.get_lb(lbaas.get('id'))
23+
else:
24+
_, lbid = mgr.get_lbaas_uuid_id(identifier)
25+
this_lb = mgr.get_lb(lbid)
1826
if this_lb.get('previousErrorText'):
1927
print(this_lb.get('previousErrorText'))
2028
table = lbaas_table(this_lb)

SoftLayer/utils.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,16 @@
1313

1414
UUID_RE = re.compile(r'^[0-9a-f\-]{36}$', re.I)
1515
KNOWN_OPERATIONS = ['<=', '>=', '<', '>', '~', '!~', '*=', '^=', '$=', '_=']
16+
DOMAIN_RE = re.compile(r'[-a-zA-Z0-9.]{1,40}\.')
17+
18+
19+
def valid_domain(domain_name):
20+
"""Return whether or not given value is a valid domain.
21+
22+
:param domain_name: domain string to validate.
23+
24+
"""
25+
return DOMAIN_RE.match(domain_name)
1626

1727

1828
def lookup(dic, key, *keys):

0 commit comments

Comments
 (0)