diff --git a/openstackclient/network/v2/network.py b/openstackclient/network/v2/network.py index 336b3086e2..cd14592df4 100644 --- a/openstackclient/network/v2/network.py +++ b/openstackclient/network/v2/network.py @@ -20,15 +20,37 @@ from cliff import command from cliff import lister from cliff import show +from openstack import connection + from openstackclient.common import exceptions from openstackclient.common import utils from openstackclient.identity import common as identity_common from openstackclient.network import common +def _format_admin_state(item): + return 'UP' if item else 'DOWN' + + +def _format_router_external(item): + return 'External' if item else 'Internal' + + +_formatters = { + 'subnets': utils.format_list, + 'admin_state_up': _format_admin_state, + 'router_external': _format_router_external, +} + + +def _make_client_sdk(instance): + """Return a network proxy""" + conn = connection.Connection(authenticator=instance.session.auth) + return conn.network + + def _prep_network_detail(net): """Prepare network object for output""" - if 'subnets' in net: net['subnets'] = utils.format_list(net['subnets']) if 'admin_state_up' in net: diff --git a/requirements.txt b/requirements.txt index fbe3b8d656..8b1a999d2c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,6 +7,7 @@ six>=1.9.0 Babel>=1.3 cliff>=1.15.0 # Apache-2.0 keystoneauth1>=1.0.0 +openstacksdk os-client-config!=1.6.2,>=1.4.0 oslo.config>=2.7.0 # Apache-2.0 oslo.i18n>=1.5.0 # Apache-2.0