Do not get all resources if ID is passed
Now function get_resource_id getting all resources even if exact ID is passed. And checking if ID is passed and call directly to get exact resource. If direct call failed - try to get ID as it was done before (important for case, when name is generated in UUID format). Change-Id: Ic66d5289afe1f8849e327f9347f9c3de8bb8b595 Story: 2006810 Task: 37365
This commit is contained in:
parent
cd6482966a
commit
16b2de14bd
|
@ -100,11 +100,9 @@ class ShowAmphora(command.ShowOne):
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
attrs = v2_utils.get_amphora_attrs(self.app.client_manager,
|
|
||||||
parsed_args)
|
|
||||||
|
|
||||||
data = self.app.client_manager.load_balancer.amphora_show(
|
data = self.app.client_manager.load_balancer.amphora_show(
|
||||||
amphora_id=attrs.pop('amphora_id'),
|
amphora_id=parsed_args.amphora_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
rows = const.AMPHORA_ROWS
|
rows = const.AMPHORA_ROWS
|
||||||
|
|
|
@ -19,7 +19,9 @@
|
||||||
|
|
||||||
from cliff import lister
|
from cliff import lister
|
||||||
from osc_lib.command import command
|
from osc_lib.command import command
|
||||||
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils
|
from osc_lib import utils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from octaviaclient.osc.v2 import constants as const
|
from octaviaclient.osc.v2 import constants as const
|
||||||
from octaviaclient.osc.v2 import utils as v2_utils
|
from octaviaclient.osc.v2 import utils as v2_utils
|
||||||
|
@ -162,13 +164,21 @@ class ShowFlavor(command.ShowOne):
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
rows = const.FLAVOR_ROWS
|
rows = const.FLAVOR_ROWS
|
||||||
attrs = v2_utils.get_flavor_attrs(self.app.client_manager,
|
data = None
|
||||||
parsed_args)
|
if uuidutils.is_uuid_like(parsed_args.flavor):
|
||||||
flavor_id = attrs.pop('flavor_id')
|
try:
|
||||||
|
data = self.app.client_manager.load_balancer.flavor_show(
|
||||||
|
flavor_id=parsed_args.flavor)
|
||||||
|
except exceptions.NotFound:
|
||||||
|
pass
|
||||||
|
if data is None:
|
||||||
|
attrs = v2_utils.get_flavor_attrs(self.app.client_manager,
|
||||||
|
parsed_args)
|
||||||
|
flavor_id = attrs.pop('flavor_id')
|
||||||
|
|
||||||
data = self.app.client_manager.load_balancer.flavor_show(
|
data = self.app.client_manager.load_balancer.flavor_show(
|
||||||
flavor_id=flavor_id
|
flavor_id=flavor_id
|
||||||
)
|
)
|
||||||
formatters = {'flavorprofiles': v2_utils.format_list}
|
formatters = {'flavorprofiles': v2_utils.format_list}
|
||||||
|
|
||||||
return (rows, (utils.get_dict_properties(
|
return (rows, (utils.get_dict_properties(
|
||||||
|
|
|
@ -17,7 +17,9 @@
|
||||||
|
|
||||||
from cliff import lister
|
from cliff import lister
|
||||||
from osc_lib.command import command
|
from osc_lib.command import command
|
||||||
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils
|
from osc_lib import utils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from octaviaclient.osc.v2 import constants as const
|
from octaviaclient.osc.v2 import constants as const
|
||||||
from octaviaclient.osc.v2 import utils as v2_utils
|
from octaviaclient.osc.v2 import utils as v2_utils
|
||||||
|
@ -132,13 +134,22 @@ class ShowFlavorProfile(command.ShowOne):
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
rows = const.FLAVORPROFILE_ROWS
|
rows = const.FLAVORPROFILE_ROWS
|
||||||
attrs = v2_utils.get_flavorprofile_attrs(self.app.client_manager,
|
data = None
|
||||||
parsed_args)
|
if uuidutils.is_uuid_like(parsed_args.flavorprofile):
|
||||||
flavorprofile_id = attrs.pop('flavorprofile_id')
|
try:
|
||||||
|
data = (
|
||||||
|
self.app.client_manager.load_balancer.flavorprofile_show(
|
||||||
|
flavorprofile_id=parsed_args.flavorprofile))
|
||||||
|
except exceptions.NotFound:
|
||||||
|
pass
|
||||||
|
if data is None:
|
||||||
|
attrs = v2_utils.get_flavorprofile_attrs(self.app.client_manager,
|
||||||
|
parsed_args)
|
||||||
|
flavorprofile_id = attrs.pop('flavorprofile_id')
|
||||||
|
|
||||||
data = self.app.client_manager.load_balancer.flavorprofile_show(
|
data = self.app.client_manager.load_balancer.flavorprofile_show(
|
||||||
flavorprofile_id=flavorprofile_id
|
flavorprofile_id=flavorprofile_id
|
||||||
)
|
)
|
||||||
|
|
||||||
return (rows, (utils.get_dict_properties(
|
return (rows, (utils.get_dict_properties(
|
||||||
data, rows, formatters={})))
|
data, rows, formatters={})))
|
||||||
|
|
|
@ -19,7 +19,9 @@
|
||||||
|
|
||||||
from cliff import lister
|
from cliff import lister
|
||||||
from osc_lib.command import command
|
from osc_lib.command import command
|
||||||
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils
|
from osc_lib import utils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from octaviaclient.osc.v2 import constants as const
|
from octaviaclient.osc.v2 import constants as const
|
||||||
from octaviaclient.osc.v2 import utils as v2_utils
|
from octaviaclient.osc.v2 import utils as v2_utils
|
||||||
|
@ -212,14 +214,23 @@ class ShowHealthMonitor(command.ShowOne):
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
rows = const.MONITOR_ROWS
|
rows = const.MONITOR_ROWS
|
||||||
attrs = v2_utils.get_health_monitor_attrs(self.app.client_manager,
|
data = None
|
||||||
parsed_args)
|
if uuidutils.is_uuid_like(parsed_args.health_monitor):
|
||||||
|
try:
|
||||||
|
data = (
|
||||||
|
self.app.client_manager.load_balancer.health_monitor_show(
|
||||||
|
health_monitor_id=parsed_args.health_monitor))
|
||||||
|
except exceptions.NotFound:
|
||||||
|
pass
|
||||||
|
if data is None:
|
||||||
|
attrs = v2_utils.get_health_monitor_attrs(self.app.client_manager,
|
||||||
|
parsed_args)
|
||||||
|
|
||||||
health_monitor_id = attrs.pop('health_monitor_id')
|
health_monitor_id = attrs.pop('health_monitor_id')
|
||||||
|
|
||||||
data = self.app.client_manager.load_balancer.health_monitor_show(
|
data = self.app.client_manager.load_balancer.health_monitor_show(
|
||||||
health_monitor_id=health_monitor_id,
|
health_monitor_id=health_monitor_id,
|
||||||
)
|
)
|
||||||
formatters = {'pools': v2_utils.format_list}
|
formatters = {'pools': v2_utils.format_list}
|
||||||
|
|
||||||
return (rows,
|
return (rows,
|
||||||
|
|
|
@ -18,7 +18,9 @@
|
||||||
|
|
||||||
from cliff import lister
|
from cliff import lister
|
||||||
from osc_lib.command import command
|
from osc_lib.command import command
|
||||||
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils
|
from osc_lib import utils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from octaviaclient.osc.v2 import constants as const
|
from octaviaclient.osc.v2 import constants as const
|
||||||
from octaviaclient.osc.v2 import utils as v2_utils
|
from octaviaclient.osc.v2 import utils as v2_utils
|
||||||
|
@ -192,14 +194,22 @@ class ShowL7Policy(command.ShowOne):
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
rows = const.L7POLICY_ROWS
|
rows = const.L7POLICY_ROWS
|
||||||
attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
|
data = None
|
||||||
parsed_args)
|
if uuidutils.is_uuid_like(parsed_args.l7policy):
|
||||||
|
try:
|
||||||
|
data = self.app.client_manager.load_balancer.l7policy_show(
|
||||||
|
l7policy_id=parsed_args.l7policy)
|
||||||
|
except exceptions.NotFound:
|
||||||
|
pass
|
||||||
|
if data is None:
|
||||||
|
attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
|
||||||
|
parsed_args)
|
||||||
|
|
||||||
l7policy_id = attrs.pop('l7policy_id')
|
l7policy_id = attrs.pop('l7policy_id')
|
||||||
|
|
||||||
data = self.app.client_manager.load_balancer.l7policy_show(
|
data = self.app.client_manager.load_balancer.l7policy_show(
|
||||||
l7policy_id=l7policy_id,
|
l7policy_id=l7policy_id,
|
||||||
)
|
)
|
||||||
formatters = {'rules': v2_utils.format_list}
|
formatters = {'rules': v2_utils.format_list}
|
||||||
|
|
||||||
return (rows, (utils.get_dict_properties(
|
return (rows, (utils.get_dict_properties(
|
||||||
|
|
|
@ -18,7 +18,9 @@
|
||||||
|
|
||||||
from cliff import lister
|
from cliff import lister
|
||||||
from osc_lib.command import command
|
from osc_lib.command import command
|
||||||
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils
|
from osc_lib import utils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from octaviaclient.osc.v2 import constants as const
|
from octaviaclient.osc.v2 import constants as const
|
||||||
from octaviaclient.osc.v2 import utils as v2_utils
|
from octaviaclient.osc.v2 import utils as v2_utils
|
||||||
|
@ -181,12 +183,22 @@ class ShowL7Rule(command.ShowOne):
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
rows = const.L7RULE_ROWS
|
rows = const.L7RULE_ROWS
|
||||||
|
data = None
|
||||||
attrs = v2_utils.get_l7rule_attrs(self.app.client_manager, parsed_args)
|
if (uuidutils.is_uuid_like(parsed_args.l7policy) and
|
||||||
data = self.app.client_manager.load_balancer.l7rule_show(
|
uuidutils.is_uuid_like(parsed_args.l7rule)):
|
||||||
l7rule_id=attrs['l7rule_id'],
|
try:
|
||||||
l7policy_id=attrs['l7policy_id']
|
data = self.app.client_manager.load_balancer.l7rule_show(
|
||||||
)
|
l7rule_id=parsed_args.l7rule,
|
||||||
|
l7policy_id=parsed_args.l7policy)
|
||||||
|
except exceptions.NotFound:
|
||||||
|
pass
|
||||||
|
if data is None:
|
||||||
|
attrs = v2_utils.get_l7rule_attrs(self.app.client_manager,
|
||||||
|
parsed_args)
|
||||||
|
data = self.app.client_manager.load_balancer.l7rule_show(
|
||||||
|
l7rule_id=attrs['l7rule_id'],
|
||||||
|
l7policy_id=attrs['l7policy_id']
|
||||||
|
)
|
||||||
|
|
||||||
return (rows, (utils.get_dict_properties(
|
return (rows, (utils.get_dict_properties(
|
||||||
data, rows, formatters={})))
|
data, rows, formatters={})))
|
||||||
|
|
|
@ -17,7 +17,9 @@
|
||||||
|
|
||||||
from cliff import lister
|
from cliff import lister
|
||||||
from osc_lib.command import command
|
from osc_lib.command import command
|
||||||
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils
|
from osc_lib import utils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from octaviaclient.osc.v2 import constants as const
|
from octaviaclient.osc.v2 import constants as const
|
||||||
from octaviaclient.osc.v2 import utils as v2_utils
|
from octaviaclient.osc.v2 import utils as v2_utils
|
||||||
|
@ -277,14 +279,22 @@ class ShowListener(command.ShowOne):
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
rows = const.LISTENER_ROWS
|
rows = const.LISTENER_ROWS
|
||||||
attrs = v2_utils.get_listener_attrs(self.app.client_manager,
|
data = None
|
||||||
parsed_args)
|
if uuidutils.is_uuid_like(parsed_args.listener):
|
||||||
|
try:
|
||||||
|
data = self.app.client_manager.load_balancer.listener_show(
|
||||||
|
listener_id=parsed_args.listener)
|
||||||
|
except exceptions.NotFound:
|
||||||
|
pass
|
||||||
|
if data is None:
|
||||||
|
attrs = v2_utils.get_listener_attrs(self.app.client_manager,
|
||||||
|
parsed_args)
|
||||||
|
|
||||||
listener_id = attrs.pop('listener_id')
|
listener_id = attrs.pop('listener_id')
|
||||||
|
|
||||||
data = self.app.client_manager.load_balancer.listener_show(
|
data = self.app.client_manager.load_balancer.listener_show(
|
||||||
listener_id=listener_id,
|
listener_id=listener_id,
|
||||||
)
|
)
|
||||||
formatters = {'loadbalancers': v2_utils.format_list,
|
formatters = {'loadbalancers': v2_utils.format_list,
|
||||||
'pools': v2_utils.format_list,
|
'pools': v2_utils.format_list,
|
||||||
'l7policies': v2_utils.format_list,
|
'l7policies': v2_utils.format_list,
|
||||||
|
|
|
@ -18,6 +18,7 @@ from osc_lib.command import command
|
||||||
from osc_lib import exceptions
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils
|
from osc_lib import utils
|
||||||
from oslo_serialization import jsonutils
|
from oslo_serialization import jsonutils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from octaviaclient.osc.v2 import constants as const
|
from octaviaclient.osc.v2 import constants as const
|
||||||
from octaviaclient.osc.v2 import utils as v2_utils
|
from octaviaclient.osc.v2 import utils as v2_utils
|
||||||
|
@ -304,13 +305,23 @@ class ShowLoadBalancer(command.ShowOne):
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
rows = const.LOAD_BALANCER_ROWS
|
rows = const.LOAD_BALANCER_ROWS
|
||||||
attrs = v2_utils.get_loadbalancer_attrs(self.app.client_manager,
|
data = None
|
||||||
parsed_args)
|
|
||||||
lb_id = attrs.pop('loadbalancer_id')
|
|
||||||
|
|
||||||
data = self.app.client_manager.load_balancer.load_balancer_show(
|
if uuidutils.is_uuid_like(parsed_args.loadbalancer):
|
||||||
lb_id=lb_id
|
try:
|
||||||
)
|
data = (
|
||||||
|
self.app.client_manager.load_balancer.load_balancer_show(
|
||||||
|
lb_id=parsed_args.loadbalancer))
|
||||||
|
except exceptions.NotFound:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if data is None:
|
||||||
|
attrs = v2_utils.get_loadbalancer_attrs(
|
||||||
|
self.app.client_manager, parsed_args)
|
||||||
|
lb_id = attrs.pop('loadbalancer_id')
|
||||||
|
|
||||||
|
data = self.app.client_manager.load_balancer.load_balancer_show(
|
||||||
|
lb_id=lb_id)
|
||||||
|
|
||||||
formatters = {
|
formatters = {
|
||||||
'listeners': v2_utils.format_list,
|
'listeners': v2_utils.format_list,
|
||||||
|
|
|
@ -18,7 +18,9 @@
|
||||||
|
|
||||||
from cliff import lister
|
from cliff import lister
|
||||||
from osc_lib.command import command
|
from osc_lib.command import command
|
||||||
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils
|
from osc_lib import utils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from octaviaclient.osc.v2 import constants as const
|
from octaviaclient.osc.v2 import constants as const
|
||||||
from octaviaclient.osc.v2 import utils as v2_utils
|
from octaviaclient.osc.v2 import utils as v2_utils
|
||||||
|
@ -75,13 +77,23 @@ class ShowMember(command.ShowOne):
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
rows = const.MEMBER_ROWS
|
rows = const.MEMBER_ROWS
|
||||||
attrs = v2_utils.get_member_attrs(self.app.client_manager, parsed_args)
|
data = None
|
||||||
|
if (uuidutils.is_uuid_like(parsed_args.pool) and
|
||||||
|
uuidutils.is_uuid_like(parsed_args.member)):
|
||||||
|
try:
|
||||||
|
data = self.app.client_manager.load_balancer.member_show(
|
||||||
|
pool_id=parsed_args.pool, member_id=parsed_args.member)
|
||||||
|
except exceptions.NotFound:
|
||||||
|
pass
|
||||||
|
if data is None:
|
||||||
|
attrs = v2_utils.get_member_attrs(self.app.client_manager,
|
||||||
|
parsed_args)
|
||||||
|
|
||||||
member_id = attrs.pop('member_id')
|
member_id = attrs.pop('member_id')
|
||||||
pool_id = attrs.pop('pool_id')
|
pool_id = attrs.pop('pool_id')
|
||||||
|
|
||||||
data = self.app.client_manager.load_balancer.member_show(
|
data = self.app.client_manager.load_balancer.member_show(
|
||||||
pool_id=pool_id, member_id=member_id)
|
pool_id=pool_id, member_id=member_id)
|
||||||
|
|
||||||
return (rows, (utils.get_dict_properties(
|
return (rows, (utils.get_dict_properties(
|
||||||
data, rows, formatters={})))
|
data, rows, formatters={})))
|
||||||
|
|
|
@ -17,7 +17,9 @@
|
||||||
|
|
||||||
from cliff import lister
|
from cliff import lister
|
||||||
from osc_lib.command import command
|
from osc_lib.command import command
|
||||||
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils
|
from osc_lib import utils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from octaviaclient.osc.v2 import constants as const
|
from octaviaclient.osc.v2 import constants as const
|
||||||
from octaviaclient.osc.v2 import utils as v2_utils
|
from octaviaclient.osc.v2 import utils as v2_utils
|
||||||
|
@ -207,13 +209,21 @@ class ShowPool(command.ShowOne):
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
rows = const.POOL_ROWS
|
rows = const.POOL_ROWS
|
||||||
|
data = None
|
||||||
|
if uuidutils.is_uuid_like(parsed_args.pool):
|
||||||
|
try:
|
||||||
|
data = self.app.client_manager.load_balancer.pool_show(
|
||||||
|
pool_id=parsed_args.pool)
|
||||||
|
except exceptions.NotFound:
|
||||||
|
pass
|
||||||
|
if data is None:
|
||||||
|
attrs = v2_utils.get_pool_attrs(self.app.client_manager,
|
||||||
|
parsed_args)
|
||||||
|
pool_id = attrs.pop('pool_id')
|
||||||
|
|
||||||
attrs = v2_utils.get_pool_attrs(self.app.client_manager, parsed_args)
|
data = self.app.client_manager.load_balancer.pool_show(
|
||||||
pool_id = attrs.pop('pool_id')
|
pool_id=pool_id,
|
||||||
|
)
|
||||||
data = self.app.client_manager.load_balancer.pool_show(
|
|
||||||
pool_id=pool_id,
|
|
||||||
)
|
|
||||||
formatters = {'loadbalancers': v2_utils.format_list,
|
formatters = {'loadbalancers': v2_utils.format_list,
|
||||||
'members': v2_utils.format_list,
|
'members': v2_utils.format_list,
|
||||||
'listeners': v2_utils.format_list,
|
'listeners': v2_utils.format_list,
|
||||||
|
|
|
@ -20,6 +20,7 @@ from cliff import lister
|
||||||
from osc_lib.command import command
|
from osc_lib.command import command
|
||||||
from osc_lib import exceptions
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils
|
from osc_lib import utils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from octaviaclient.osc.v2 import constants as const
|
from octaviaclient.osc.v2 import constants as const
|
||||||
from octaviaclient.osc.v2 import utils as v2_utils
|
from octaviaclient.osc.v2 import utils as v2_utils
|
||||||
|
@ -66,13 +67,21 @@ class ShowQuota(command.ShowOne):
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
rows = const.QUOTA_ROWS
|
rows = const.QUOTA_ROWS
|
||||||
attrs = v2_utils.get_quota_attrs(self.app.client_manager,
|
data = None
|
||||||
parsed_args)
|
if uuidutils.is_uuid_like(parsed_args.project):
|
||||||
project_id = attrs.pop('project_id')
|
try:
|
||||||
|
data = self.app.client_manager.load_balancer.quota_show(
|
||||||
|
project_id=parsed_args.project)
|
||||||
|
except exceptions.NotFound:
|
||||||
|
pass
|
||||||
|
if data is None:
|
||||||
|
attrs = v2_utils.get_quota_attrs(self.app.client_manager,
|
||||||
|
parsed_args)
|
||||||
|
project_id = attrs.pop('project_id')
|
||||||
|
|
||||||
data = self.app.client_manager.load_balancer.quota_show(
|
data = self.app.client_manager.load_balancer.quota_show(
|
||||||
project_id=project_id
|
project_id=project_id
|
||||||
)
|
)
|
||||||
|
|
||||||
return (rows, (utils.get_dict_properties(data, rows)))
|
return (rows, (utils.get_dict_properties(data, rows)))
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
If ID of resource is passed to resource show command - call is done
|
||||||
|
directly using passed UUID. If name of resource is in UUID format - list of
|
||||||
|
resources will be still executed to get correct resource ID.
|
Loading…
Reference in New Issue