Use entry points to define neutron CLI commands

It allows us to generate CLI references automatically using cliff.sphinxext
(which will be available in the next release of cliff).
This allows us to avoid maintaining the in-tree CLI refernece manually.

Change-Id: I3950ed8cf50508210c8b3270724e283aea8e1673
This commit is contained in:
Akihiro Motoki 2017-06-01 02:54:40 +00:00
parent 7790167f6f
commit 6295f85ab2
3 changed files with 313 additions and 382 deletions

View File

@ -40,61 +40,15 @@ from neutronclient._i18n import _
from neutronclient.common import clientmanager
from neutronclient.common import exceptions as exc
from neutronclient.common import extension as client_extension
from neutronclient.neutron.v2_0 import address_scope
from neutronclient.neutron.v2_0 import agent
from neutronclient.neutron.v2_0 import agentscheduler
from neutronclient.neutron.v2_0 import auto_allocated_topology
from neutronclient.neutron.v2_0 import availability_zone
from neutronclient.neutron.v2_0.bgp import dragentscheduler as bgp_drsched
from neutronclient.neutron.v2_0.bgp import peer as bgp_peer
from neutronclient.neutron.v2_0.bgp import speaker as bgp_speaker
from neutronclient.neutron.v2_0 import extension
from neutronclient.neutron.v2_0.flavor import flavor
from neutronclient.neutron.v2_0.flavor import flavor_profile
from neutronclient.neutron.v2_0 import floatingip
from neutronclient.neutron.v2_0.fw import firewall
from neutronclient.neutron.v2_0.fw import firewallpolicy
from neutronclient.neutron.v2_0.fw import firewallrule
from neutronclient.neutron.v2_0.lb import healthmonitor as lb_healthmonitor
from neutronclient.neutron.v2_0.lb import member as lb_member
from neutronclient.neutron.v2_0.lb import pool as lb_pool
from neutronclient.neutron.v2_0.lb.v2 import healthmonitor as lbaas_healthmon
from neutronclient.neutron.v2_0.lb.v2 import l7policy as lbaas_l7policy
from neutronclient.neutron.v2_0.lb.v2 import l7rule as lbaas_l7rule
from neutronclient.neutron.v2_0.lb.v2 import listener as lbaas_listener
from neutronclient.neutron.v2_0.lb.v2 import loadbalancer as lbaas_loadbalancer
from neutronclient.neutron.v2_0.lb.v2 import member as lbaas_member
from neutronclient.neutron.v2_0.lb.v2 import pool as lbaas_pool
from neutronclient.neutron.v2_0.lb import vip as lb_vip
from neutronclient.neutron.v2_0 import metering
from neutronclient.neutron.v2_0 import network
from neutronclient.neutron.v2_0 import network_ip_availability
from neutronclient.neutron.v2_0 import port
from neutronclient.neutron.v2_0 import purge
from neutronclient.neutron.v2_0.qos import bandwidth_limit_rule
from neutronclient.neutron.v2_0.qos import dscp_marking_rule
from neutronclient.neutron.v2_0.qos import minimum_bandwidth_rule
from neutronclient.neutron.v2_0.qos import policy as qos_policy
from neutronclient.neutron.v2_0.qos import rule as qos_rule
from neutronclient.neutron.v2_0 import quota
from neutronclient.neutron.v2_0 import rbac
from neutronclient.neutron.v2_0 import router
from neutronclient.neutron.v2_0 import securitygroup
from neutronclient.neutron.v2_0 import servicetype
from neutronclient.neutron.v2_0 import subnet
from neutronclient.neutron.v2_0 import subnetpool
from neutronclient.neutron.v2_0 import tag
from neutronclient.neutron.v2_0.vpn import endpoint_group
from neutronclient.neutron.v2_0.vpn import ikepolicy
from neutronclient.neutron.v2_0.vpn import ipsec_site_connection
from neutronclient.neutron.v2_0.vpn import ipsecpolicy
from neutronclient.neutron.v2_0.vpn import vpnservice
from neutronclient.version import __version__
VERSION = '2.0'
NEUTRON_API_VERSION = '2.0'
NAMESPACE_MAP = {NEUTRON_API_VERSION: 'neutron.cli.v2'}
def run_command(cmd, cmd_parser, sub_argv):
_argv = sub_argv
@ -156,320 +110,6 @@ class BashCompletionCommand(command.Command):
pass
COMMAND_V2 = {
'bash-completion': BashCompletionCommand,
'net-list': network.ListNetwork,
'net-external-list': network.ListExternalNetwork,
'net-show': network.ShowNetwork,
'net-create': network.CreateNetwork,
'net-delete': network.DeleteNetwork,
'net-update': network.UpdateNetwork,
'subnet-list': subnet.ListSubnet,
'subnet-show': subnet.ShowSubnet,
'subnet-create': subnet.CreateSubnet,
'subnet-delete': subnet.DeleteSubnet,
'subnet-update': subnet.UpdateSubnet,
'subnetpool-list': subnetpool.ListSubnetPool,
'subnetpool-show': subnetpool.ShowSubnetPool,
'subnetpool-create': subnetpool.CreateSubnetPool,
'subnetpool-delete': subnetpool.DeleteSubnetPool,
'subnetpool-update': subnetpool.UpdateSubnetPool,
'port-list': port.ListPort,
'port-show': port.ShowPort,
'port-create': port.CreatePort,
'port-delete': port.DeletePort,
'port-update': port.UpdatePort,
'purge': purge.Purge,
'quota-list': quota.ListQuota,
'quota-show': quota.ShowQuota,
'quota-default-show': quota.ShowQuotaDefault,
'quota-delete': quota.DeleteQuota,
'quota-update': quota.UpdateQuota,
'ext-list': extension.ListExt,
'ext-show': extension.ShowExt,
'router-list': router.ListRouter,
'router-port-list': port.ListRouterPort,
'router-show': router.ShowRouter,
'router-create': router.CreateRouter,
'router-delete': router.DeleteRouter,
'router-update': router.UpdateRouter,
'router-interface-add': router.AddInterfaceRouter,
'router-interface-delete': router.RemoveInterfaceRouter,
'router-gateway-set': router.SetGatewayRouter,
'router-gateway-clear': router.RemoveGatewayRouter,
'floatingip-list': floatingip.ListFloatingIP,
'floatingip-show': floatingip.ShowFloatingIP,
'floatingip-create': floatingip.CreateFloatingIP,
'floatingip-delete': floatingip.DeleteFloatingIP,
'floatingip-associate': floatingip.AssociateFloatingIP,
'floatingip-disassociate': floatingip.DisassociateFloatingIP,
'security-group-list': securitygroup.ListSecurityGroup,
'security-group-show': securitygroup.ShowSecurityGroup,
'security-group-create': securitygroup.CreateSecurityGroup,
'security-group-delete': securitygroup.DeleteSecurityGroup,
'security-group-update': securitygroup.UpdateSecurityGroup,
'security-group-rule-list': securitygroup.ListSecurityGroupRule,
'security-group-rule-show': securitygroup.ShowSecurityGroupRule,
'security-group-rule-create': securitygroup.CreateSecurityGroupRule,
'security-group-rule-delete': securitygroup.DeleteSecurityGroupRule,
'lbaas-loadbalancer-list': lbaas_loadbalancer.ListLoadBalancer,
'lbaas-loadbalancer-show': lbaas_loadbalancer.ShowLoadBalancer,
'lbaas-loadbalancer-create': lbaas_loadbalancer.CreateLoadBalancer,
'lbaas-loadbalancer-update': lbaas_loadbalancer.UpdateLoadBalancer,
'lbaas-loadbalancer-delete': lbaas_loadbalancer.DeleteLoadBalancer,
'lbaas-loadbalancer-stats': lbaas_loadbalancer.RetrieveLoadBalancerStats,
'lbaas-loadbalancer-status': lbaas_loadbalancer.RetrieveLoadBalancerStatus,
'lbaas-listener-list': lbaas_listener.ListListener,
'lbaas-listener-show': lbaas_listener.ShowListener,
'lbaas-listener-create': lbaas_listener.CreateListener,
'lbaas-listener-update': lbaas_listener.UpdateListener,
'lbaas-listener-delete': lbaas_listener.DeleteListener,
'lbaas-l7policy-list': lbaas_l7policy.ListL7Policy,
'lbaas-l7policy-show': lbaas_l7policy.ShowL7Policy,
'lbaas-l7policy-create': lbaas_l7policy.CreateL7Policy,
'lbaas-l7policy-update': lbaas_l7policy.UpdateL7Policy,
'lbaas-l7policy-delete': lbaas_l7policy.DeleteL7Policy,
'lbaas-l7rule-list': lbaas_l7rule.ListL7Rule,
'lbaas-l7rule-show': lbaas_l7rule.ShowL7Rule,
'lbaas-l7rule-create': lbaas_l7rule.CreateL7Rule,
'lbaas-l7rule-update': lbaas_l7rule.UpdateL7Rule,
'lbaas-l7rule-delete': lbaas_l7rule.DeleteL7Rule,
'lbaas-pool-list': lbaas_pool.ListPool,
'lbaas-pool-show': lbaas_pool.ShowPool,
'lbaas-pool-create': lbaas_pool.CreatePool,
'lbaas-pool-update': lbaas_pool.UpdatePool,
'lbaas-pool-delete': lbaas_pool.DeletePool,
'lbaas-healthmonitor-list': lbaas_healthmon.ListHealthMonitor,
'lbaas-healthmonitor-show': lbaas_healthmon.ShowHealthMonitor,
'lbaas-healthmonitor-create': lbaas_healthmon.CreateHealthMonitor,
'lbaas-healthmonitor-update': lbaas_healthmon.UpdateHealthMonitor,
'lbaas-healthmonitor-delete': lbaas_healthmon.DeleteHealthMonitor,
'lbaas-member-list': lbaas_member.ListMember,
'lbaas-member-show': lbaas_member.ShowMember,
'lbaas-member-create': lbaas_member.CreateMember,
'lbaas-member-update': lbaas_member.UpdateMember,
'lbaas-member-delete': lbaas_member.DeleteMember,
'lb-vip-list': lb_vip.ListVip,
'lb-vip-show': lb_vip.ShowVip,
'lb-vip-create': lb_vip.CreateVip,
'lb-vip-update': lb_vip.UpdateVip,
'lb-vip-delete': lb_vip.DeleteVip,
'lb-pool-list': lb_pool.ListPool,
'lb-pool-show': lb_pool.ShowPool,
'lb-pool-create': lb_pool.CreatePool,
'lb-pool-update': lb_pool.UpdatePool,
'lb-pool-delete': lb_pool.DeletePool,
'lb-pool-stats': lb_pool.RetrievePoolStats,
'lb-member-list': lb_member.ListMember,
'lb-member-show': lb_member.ShowMember,
'lb-member-create': lb_member.CreateMember,
'lb-member-update': lb_member.UpdateMember,
'lb-member-delete': lb_member.DeleteMember,
'lb-healthmonitor-list': lb_healthmonitor.ListHealthMonitor,
'lb-healthmonitor-show': lb_healthmonitor.ShowHealthMonitor,
'lb-healthmonitor-create': lb_healthmonitor.CreateHealthMonitor,
'lb-healthmonitor-update': lb_healthmonitor.UpdateHealthMonitor,
'lb-healthmonitor-delete': lb_healthmonitor.DeleteHealthMonitor,
'lb-healthmonitor-associate': lb_healthmonitor.AssociateHealthMonitor,
'lb-healthmonitor-disassociate': (
lb_healthmonitor.DisassociateHealthMonitor
),
'agent-list': agent.ListAgent,
'agent-show': agent.ShowAgent,
'agent-delete': agent.DeleteAgent,
'agent-update': agent.UpdateAgent,
'dhcp-agent-network-add': agentscheduler.AddNetworkToDhcpAgent,
'dhcp-agent-network-remove': agentscheduler.RemoveNetworkFromDhcpAgent,
'net-list-on-dhcp-agent': agentscheduler.ListNetworksOnDhcpAgent,
'dhcp-agent-list-hosting-net': agentscheduler.ListDhcpAgentsHostingNetwork,
'l3-agent-router-add': agentscheduler.AddRouterToL3Agent,
'l3-agent-router-remove': agentscheduler.RemoveRouterFromL3Agent,
'router-list-on-l3-agent': agentscheduler.ListRoutersOnL3Agent,
'l3-agent-list-hosting-router': agentscheduler.ListL3AgentsHostingRouter,
'lb-pool-list-on-agent': agentscheduler.ListPoolsOnLbaasAgent,
'lb-agent-hosting-pool': agentscheduler.GetLbaasAgentHostingPool,
'lbaas-loadbalancer-list-on-agent':
agentscheduler.ListLoadBalancersOnLbaasAgent,
'lbaas-agent-hosting-loadbalancer':
agentscheduler.GetLbaasAgentHostingLoadBalancer,
'service-provider-list': servicetype.ListServiceProvider,
'firewall-rule-list': firewallrule.ListFirewallRule,
'firewall-rule-show': firewallrule.ShowFirewallRule,
'firewall-rule-create': firewallrule.CreateFirewallRule,
'firewall-rule-update': firewallrule.UpdateFirewallRule,
'firewall-rule-delete': firewallrule.DeleteFirewallRule,
'firewall-policy-list': firewallpolicy.ListFirewallPolicy,
'firewall-policy-show': firewallpolicy.ShowFirewallPolicy,
'firewall-policy-create': firewallpolicy.CreateFirewallPolicy,
'firewall-policy-update': firewallpolicy.UpdateFirewallPolicy,
'firewall-policy-delete': firewallpolicy.DeleteFirewallPolicy,
'firewall-policy-insert-rule': firewallpolicy.FirewallPolicyInsertRule,
'firewall-policy-remove-rule': firewallpolicy.FirewallPolicyRemoveRule,
'firewall-list': firewall.ListFirewall,
'firewall-show': firewall.ShowFirewall,
'firewall-create': firewall.CreateFirewall,
'firewall-update': firewall.UpdateFirewall,
'firewall-delete': firewall.DeleteFirewall,
'ipsec-site-connection-list': (
ipsec_site_connection.ListIPsecSiteConnection
),
'ipsec-site-connection-show': (
ipsec_site_connection.ShowIPsecSiteConnection
),
'ipsec-site-connection-create': (
ipsec_site_connection.CreateIPsecSiteConnection
),
'ipsec-site-connection-update': (
ipsec_site_connection.UpdateIPsecSiteConnection
),
'ipsec-site-connection-delete': (
ipsec_site_connection.DeleteIPsecSiteConnection
),
'vpn-endpoint-group-list': endpoint_group.ListEndpointGroup,
'vpn-endpoint-group-show': endpoint_group.ShowEndpointGroup,
'vpn-endpoint-group-create': endpoint_group.CreateEndpointGroup,
'vpn-endpoint-group-update': endpoint_group.UpdateEndpointGroup,
'vpn-endpoint-group-delete': endpoint_group.DeleteEndpointGroup,
'vpn-service-list': vpnservice.ListVPNService,
'vpn-service-show': vpnservice.ShowVPNService,
'vpn-service-create': vpnservice.CreateVPNService,
'vpn-service-update': vpnservice.UpdateVPNService,
'vpn-service-delete': vpnservice.DeleteVPNService,
'vpn-ipsecpolicy-list': ipsecpolicy.ListIPsecPolicy,
'vpn-ipsecpolicy-show': ipsecpolicy.ShowIPsecPolicy,
'vpn-ipsecpolicy-create': ipsecpolicy.CreateIPsecPolicy,
'vpn-ipsecpolicy-update': ipsecpolicy.UpdateIPsecPolicy,
'vpn-ipsecpolicy-delete': ipsecpolicy.DeleteIPsecPolicy,
'vpn-ikepolicy-list': ikepolicy.ListIKEPolicy,
'vpn-ikepolicy-show': ikepolicy.ShowIKEPolicy,
'vpn-ikepolicy-create': ikepolicy.CreateIKEPolicy,
'vpn-ikepolicy-update': ikepolicy.UpdateIKEPolicy,
'vpn-ikepolicy-delete': ikepolicy.DeleteIKEPolicy,
'meter-label-create': metering.CreateMeteringLabel,
'meter-label-list': metering.ListMeteringLabel,
'meter-label-show': metering.ShowMeteringLabel,
'meter-label-delete': metering.DeleteMeteringLabel,
'meter-label-rule-create': metering.CreateMeteringLabelRule,
'meter-label-rule-list': metering.ListMeteringLabelRule,
'meter-label-rule-show': metering.ShowMeteringLabelRule,
'meter-label-rule-delete': metering.DeleteMeteringLabelRule,
'rbac-create': rbac.CreateRBACPolicy,
'rbac-update': rbac.UpdateRBACPolicy,
'rbac-list': rbac.ListRBACPolicy,
'rbac-show': rbac.ShowRBACPolicy,
'rbac-delete': rbac.DeleteRBACPolicy,
'address-scope-list': address_scope.ListAddressScope,
'address-scope-show': address_scope.ShowAddressScope,
'address-scope-create': address_scope.CreateAddressScope,
'address-scope-delete': address_scope.DeleteAddressScope,
'address-scope-update': address_scope.UpdateAddressScope,
'qos-policy-list': qos_policy.ListQoSPolicy,
'qos-policy-show': qos_policy.ShowQoSPolicy,
'qos-policy-create': qos_policy.CreateQoSPolicy,
'qos-policy-update': qos_policy.UpdateQoSPolicy,
'qos-policy-delete': qos_policy.DeleteQoSPolicy,
'qos-bandwidth-limit-rule-create': (
bandwidth_limit_rule.CreateQoSBandwidthLimitRule
),
'qos-bandwidth-limit-rule-show': (
bandwidth_limit_rule.ShowQoSBandwidthLimitRule
),
'qos-bandwidth-limit-rule-list': (
bandwidth_limit_rule.ListQoSBandwidthLimitRules
),
'qos-bandwidth-limit-rule-update': (
bandwidth_limit_rule.UpdateQoSBandwidthLimitRule
),
'qos-bandwidth-limit-rule-delete': (
bandwidth_limit_rule.DeleteQoSBandwidthLimitRule
),
'qos-dscp-marking-rule-create': (
dscp_marking_rule.CreateQoSDscpMarkingRule
),
'qos-dscp-marking-rule-show': (
dscp_marking_rule.ShowQoSDscpMarkingRule
),
'qos-dscp-marking-rule-list': (
dscp_marking_rule.ListQoSDscpMarkingRules
),
'qos-dscp-marking-rule-update': (
dscp_marking_rule.UpdateQoSDscpMarkingRule
),
'qos-dscp-marking-rule-delete': (
dscp_marking_rule.DeleteQoSDscpMarkingRule
),
'qos-minimum-bandwidth-rule-create': (
minimum_bandwidth_rule.CreateQoSMinimumBandwidthRule
),
'qos-minimum-bandwidth-rule-show': (
minimum_bandwidth_rule.ShowQoSMinimumBandwidthRule
),
'qos-minimum-bandwidth-rule-list': (
minimum_bandwidth_rule.ListQoSMinimumBandwidthRules
),
'qos-minimum-bandwidth-rule-update': (
minimum_bandwidth_rule.UpdateQoSMinimumBandwidthRule
),
'qos-minimum-bandwidth-rule-delete': (
minimum_bandwidth_rule.DeleteQoSMinimumBandwidthRule
),
'qos-available-rule-types': qos_rule.ListQoSRuleTypes,
'flavor-list': flavor.ListFlavor,
'flavor-show': flavor.ShowFlavor,
'flavor-create': flavor.CreateFlavor,
'flavor-delete': flavor.DeleteFlavor,
'flavor-update': flavor.UpdateFlavor,
'flavor-associate': flavor.AssociateFlavor,
'flavor-disassociate': flavor.DisassociateFlavor,
'flavor-profile-list': flavor_profile.ListFlavorProfile,
'flavor-profile-show': flavor_profile.ShowFlavorProfile,
'flavor-profile-create': flavor_profile.CreateFlavorProfile,
'flavor-profile-delete': flavor_profile.DeleteFlavorProfile,
'flavor-profile-update': flavor_profile.UpdateFlavorProfile,
'availability-zone-list': availability_zone.ListAvailabilityZone,
'auto-allocated-topology-show': (
auto_allocated_topology.ShowAutoAllocatedTopology),
'auto-allocated-topology-delete': (
auto_allocated_topology.DeleteAutoAllocatedTopology),
'bgp-dragent-speaker-add': (
bgp_drsched.AddBGPSpeakerToDRAgent
),
'bgp-dragent-speaker-remove': (
bgp_drsched.RemoveBGPSpeakerFromDRAgent
),
'bgp-speaker-list-on-dragent': (
bgp_drsched.ListBGPSpeakersOnDRAgent
),
'bgp-dragent-list-hosting-speaker': (
bgp_drsched.ListDRAgentsHostingBGPSpeaker
),
'bgp-speaker-list': bgp_speaker.ListSpeakers,
'bgp-speaker-advertiseroute-list': (
bgp_speaker.ListRoutesAdvertisedBySpeaker
),
'bgp-speaker-show': bgp_speaker.ShowSpeaker,
'bgp-speaker-create': bgp_speaker.CreateSpeaker,
'bgp-speaker-update': bgp_speaker.UpdateSpeaker,
'bgp-speaker-delete': bgp_speaker.DeleteSpeaker,
'bgp-speaker-peer-add': bgp_speaker.AddPeerToSpeaker,
'bgp-speaker-peer-remove': bgp_speaker.RemovePeerFromSpeaker,
'bgp-speaker-network-add': bgp_speaker.AddNetworkToSpeaker,
'bgp-speaker-network-remove': bgp_speaker.RemoveNetworkFromSpeaker,
'bgp-peer-list': bgp_peer.ListPeers,
'bgp-peer-show': bgp_peer.ShowPeer,
'bgp-peer-create': bgp_peer.CreatePeer,
'bgp-peer-update': bgp_peer.UpdatePeer,
'bgp-peer-delete': bgp_peer.DeletePeer,
'net-ip-availability-list': network_ip_availability.ListIpAvailability,
'net-ip-availability-show': network_ip_availability.ShowIpAvailability,
'tag-add': tag.AddTag,
'tag-replace': tag.ReplaceTag,
'tag-remove': tag.RemoveTag,
}
COMMANDS = {'2.0': COMMAND_V2}
class HelpAction(argparse.Action):
"""Print help message including sub-commands
@ -508,13 +148,11 @@ class NeutronShell(app.App):
log = logging.getLogger(__name__)
def __init__(self, apiversion):
namespace = NAMESPACE_MAP[apiversion]
super(NeutronShell, self).__init__(
description=__doc__.strip(),
version=VERSION,
command_manager=commandmanager.CommandManager('neutron.cli'), )
self.commands = COMMANDS
for k, v in self.commands[apiversion].items():
self.command_manager.add_command(k, v)
command_manager=commandmanager.CommandManager(namespace), )
self._register_extensions(VERSION)
@ -813,7 +451,6 @@ class NeutronShell(app.App):
cls.__doc__ = ("%s %s" % (name_prefix, cls.__doc__) if
cls.__doc__ else name_prefix)
self.command_manager.add_command(cmd, cls)
self.commands[version][cmd] = cls
except TypeError:
pass
@ -832,15 +469,17 @@ class NeutronShell(app.App):
if arg == 'bash-completion' and help_command_pos == -1:
self._bash_completion()
return 0
if arg in self.commands[self.api_version]:
if command_pos == -1:
command_pos = index
elif arg in ('-h', '--help'):
if arg in ('-h', '--help'):
if help_pos == -1:
help_pos = index
# self.command_manager.commands contains 'help',
# so we need to check this first.
elif arg == 'help':
if help_command_pos == -1:
help_command_pos = index
elif arg in self.command_manager.commands:
if command_pos == -1:
command_pos = index
index = index + 1
if command_pos > -1 and help_pos > command_pos:
argv = ['help', argv[command_pos]]

View File

@ -41,25 +41,28 @@ class CLITestV20ExtensionJSON(test_cli20.CLITestV20Base):
return contrib
def test_ext_cmd_loaded(self):
shell.NeutronShell('2.0')
neutron_shell = shell.NeutronShell('2.0')
ext_cmd = {'fox-sockets-list': fox_sockets.FoxInSocketsList,
'fox-sockets-create': fox_sockets.FoxInSocketsCreate,
'fox-sockets-update': fox_sockets.FoxInSocketsUpdate,
'fox-sockets-delete': fox_sockets.FoxInSocketsDelete,
'fox-sockets-show': fox_sockets.FoxInSocketsShow}
self.assertDictContainsSubset(ext_cmd, shell.COMMANDS['2.0'])
for cmd_name, cmd_class in ext_cmd.items():
found = neutron_shell.command_manager.find_command([cmd_name])
self.assertEqual(cmd_class, found[0])
def test_ext_cmd_help_doc_with_extension_name(self):
shell.NeutronShell('2.0')
neutron_shell = shell.NeutronShell('2.0')
ext_cmd = {'fox-sockets-list': fox_sockets.FoxInSocketsList,
'fox-sockets-create': fox_sockets.FoxInSocketsCreate,
'fox-sockets-update': fox_sockets.FoxInSocketsUpdate,
'fox-sockets-delete': fox_sockets.FoxInSocketsDelete,
'fox-sockets-show': fox_sockets.FoxInSocketsShow}
self.assertDictContainsSubset(ext_cmd, shell.COMMANDS['2.0'])
for item in ext_cmd:
cmdcls = shell.COMMANDS['2.0'].get(item)
self.assertTrue(cmdcls.__doc__.startswith("[_fox_sockets]"))
for cmd_name, cmd_class in ext_cmd.items():
found = neutron_shell.command_manager.find_command([cmd_name])
found_factory = found[0]
self.assertEqual(cmd_class, found_factory)
self.assertTrue(found_factory.__doc__.startswith("[_fox_sockets]"))
def test_delete_fox_socket(self):
# Delete fox socket: myid.
@ -138,9 +141,11 @@ class CLITestV20ExtensionJSONAlternatePlurals(test_cli20.CLITestV20Base):
return contrib
def test_ext_cmd_loaded(self):
shell.NeutronShell('2.0')
neutron_shell = shell.NeutronShell('2.0')
ext_cmd = {'ip-address-list': self.IPAddressesList}
self.assertDictContainsSubset(ext_cmd, shell.COMMANDS['2.0'])
for cmd_name, cmd_class in ext_cmd.items():
found = neutron_shell.command_manager.find_command([cmd_name])
self.assertEqual(cmd_class, found[0])
def test_list_ip_addresses(self):
# List ip_addresses.
@ -195,13 +200,15 @@ class CLITestV20ExtensionJSONChildResource(test_cli20.CLITestV20Base):
return contrib
def test_ext_cmd_loaded(self):
shell.NeutronShell('2.0')
neutron_shell = shell.NeutronShell('2.0')
ext_cmd = {'parent-child-list': self.ChildrenList,
'parent-child-show': self.ChildShow,
'parent-child-update': self.ChildUpdate,
'parent-child-delete': self.ChildDelete,
'parent-child-create': self.ChildCreate}
self.assertDictContainsSubset(ext_cmd, shell.COMMANDS['2.0'])
for cmd_name, cmd_class in ext_cmd.items():
found = neutron_shell.command_manager.find_command([cmd_name])
self.assertEqual(cmd_class, found[0])
def test_client_methods_have_parent_id_arg(self):
methods = (self.client.list_parents_children,

285
setup.cfg
View File

@ -79,6 +79,291 @@ openstack.neutronclient.v2 =
bgpvpn_router_association_list = neutronclient.osc.v2.networking_bgpvpn.router_association:ListBgpvpnRouterAssoc
bgpvpn_router_association_show = neutronclient.osc.v2.networking_bgpvpn.router_association:ShowBgpvpnRouterAssoc
neutron.cli.v2 =
bash-completion = neutronclient.shell:BashCompletionCommand
net-list = neutronclient.neutron.v2_0.network:ListNetwork
net-external-list = neutronclient.neutron.v2_0.network:ListExternalNetwork
net-show = neutronclient.neutron.v2_0.network:ShowNetwork
net-create = neutronclient.neutron.v2_0.network:CreateNetwork
net-delete = neutronclient.neutron.v2_0.network:DeleteNetwork
net-update = neutronclient.neutron.v2_0.network:UpdateNetwork
subnet-list = neutronclient.neutron.v2_0.subnet:ListSubnet
subnet-show = neutronclient.neutron.v2_0.subnet:ShowSubnet
subnet-create = neutronclient.neutron.v2_0.subnet:CreateSubnet
subnet-delete = neutronclient.neutron.v2_0.subnet:DeleteSubnet
subnet-update = neutronclient.neutron.v2_0.subnet:UpdateSubnet
subnetpool-list = neutronclient.neutron.v2_0.subnetpool:ListSubnetPool
subnetpool-show = neutronclient.neutron.v2_0.subnetpool:ShowSubnetPool
subnetpool-create = neutronclient.neutron.v2_0.subnetpool:CreateSubnetPool
subnetpool-delete = neutronclient.neutron.v2_0.subnetpool:DeleteSubnetPool
subnetpool-update = neutronclient.neutron.v2_0.subnetpool:UpdateSubnetPool
port-list = neutronclient.neutron.v2_0.port:ListPort
port-show = neutronclient.neutron.v2_0.port:ShowPort
port-create = neutronclient.neutron.v2_0.port:CreatePort
port-delete = neutronclient.neutron.v2_0.port:DeletePort
port-update = neutronclient.neutron.v2_0.port:UpdatePort
purge = neutronclient.neutron.v2_0.purge:Purge
quota-list = neutronclient.neutron.v2_0.quota:ListQuota
quota-show = neutronclient.neutron.v2_0.quota:ShowQuota
quota-default-show = neutronclient.neutron.v2_0.quota:ShowQuotaDefault
quota-delete = neutronclient.neutron.v2_0.quota:DeleteQuota
quota-update = neutronclient.neutron.v2_0.quota:UpdateQuota
ext-list = neutronclient.neutron.v2_0.extension:ListExt
ext-show = neutronclient.neutron.v2_0.extension:ShowExt
router-list = neutronclient.neutron.v2_0.router:ListRouter
router-port-list = neutronclient.neutron.v2_0.port:ListRouterPort
router-show = neutronclient.neutron.v2_0.router:ShowRouter
router-create = neutronclient.neutron.v2_0.router:CreateRouter
router-delete = neutronclient.neutron.v2_0.router:DeleteRouter
router-update = neutronclient.neutron.v2_0.router:UpdateRouter
router-interface-add = neutronclient.neutron.v2_0.router:AddInterfaceRouter
router-interface-delete = neutronclient.neutron.v2_0.router:RemoveInterfaceRouter
router-gateway-set = neutronclient.neutron.v2_0.router:SetGatewayRouter
router-gateway-clear = neutronclient.neutron.v2_0.router:RemoveGatewayRouter
floatingip-list = neutronclient.neutron.v2_0.floatingip:ListFloatingIP
floatingip-show = neutronclient.neutron.v2_0.floatingip:ShowFloatingIP
floatingip-create = neutronclient.neutron.v2_0.floatingip:CreateFloatingIP
floatingip-delete = neutronclient.neutron.v2_0.floatingip:DeleteFloatingIP
floatingip-associate = neutronclient.neutron.v2_0.floatingip:AssociateFloatingIP
floatingip-disassociate = neutronclient.neutron.v2_0.floatingip:DisassociateFloatingIP
security-group-list = neutronclient.neutron.v2_0.securitygroup:ListSecurityGroup
security-group-show = neutronclient.neutron.v2_0.securitygroup:ShowSecurityGroup
security-group-create = neutronclient.neutron.v2_0.securitygroup:CreateSecurityGroup
security-group-delete = neutronclient.neutron.v2_0.securitygroup:DeleteSecurityGroup
security-group-update = neutronclient.neutron.v2_0.securitygroup:UpdateSecurityGroup
security-group-rule-list = neutronclient.neutron.v2_0.securitygroup:ListSecurityGroupRule
security-group-rule-show = neutronclient.neutron.v2_0.securitygroup:ShowSecurityGroupRule
security-group-rule-create = neutronclient.neutron.v2_0.securitygroup:CreateSecurityGroupRule
security-group-rule-delete = neutronclient.neutron.v2_0.securitygroup:DeleteSecurityGroupRule
agent-list = neutronclient.neutron.v2_0.agent:ListAgent
agent-show = neutronclient.neutron.v2_0.agent:ShowAgent
agent-delete = neutronclient.neutron.v2_0.agent:DeleteAgent
agent-update = neutronclient.neutron.v2_0.agent:UpdateAgent
dhcp-agent-network-add = neutronclient.neutron.v2_0.agentscheduler:AddNetworkToDhcpAgent
dhcp-agent-network-remove = neutronclient.neutron.v2_0.agentscheduler:RemoveNetworkFromDhcpAgent
net-list-on-dhcp-agent = neutronclient.neutron.v2_0.agentscheduler:ListNetworksOnDhcpAgent
dhcp-agent-list-hosting-net = neutronclient.neutron.v2_0.agentscheduler:ListDhcpAgentsHostingNetwork
l3-agent-router-add = neutronclient.neutron.v2_0.agentscheduler:AddRouterToL3Agent
l3-agent-router-remove = neutronclient.neutron.v2_0.agentscheduler:RemoveRouterFromL3Agent
router-list-on-l3-agent = neutronclient.neutron.v2_0.agentscheduler:ListRoutersOnL3Agent
l3-agent-list-hosting-router = neutronclient.neutron.v2_0.agentscheduler:ListL3AgentsHostingRouter
lb-pool-list-on-agent = neutronclient.neutron.v2_0.agentscheduler:ListPoolsOnLbaasAgent
lb-agent-hosting-pool = neutronclient.neutron.v2_0.agentscheduler:GetLbaasAgentHostingPool
lbaas-loadbalancer-list-on-agent = neutronclient.neutron.v2_0.agentscheduler:ListLoadBalancersOnLbaasAgent
lbaas-agent-hosting-loadbalancer = neutronclient.neutron.v2_0.agentscheduler:GetLbaasAgentHostingLoadBalancer
service-provider-list = neutronclient.neutron.v2_0.servicetype:ListServiceProvider
rbac-create = neutronclient.neutron.v2_0.rbac:CreateRBACPolicy
rbac-update = neutronclient.neutron.v2_0.rbac:UpdateRBACPolicy
rbac-list = neutronclient.neutron.v2_0.rbac:ListRBACPolicy
rbac-show = neutronclient.neutron.v2_0.rbac:ShowRBACPolicy
rbac-delete = neutronclient.neutron.v2_0.rbac:DeleteRBACPolicy
address-scope-list = neutronclient.neutron.v2_0.address_scope:ListAddressScope
address-scope-show = neutronclient.neutron.v2_0.address_scope:ShowAddressScope
address-scope-create = neutronclient.neutron.v2_0.address_scope:CreateAddressScope
address-scope-delete = neutronclient.neutron.v2_0.address_scope:DeleteAddressScope
address-scope-update = neutronclient.neutron.v2_0.address_scope:UpdateAddressScope
availability-zone-list = neutronclient.neutron.v2_0.availability_zone:ListAvailabilityZone
auto-allocated-topology-show = neutronclient.neutron.v2_0.auto_allocated_topology:ShowAutoAllocatedTopology
auto-allocated-topology-delete = neutronclient.neutron.v2_0.auto_allocated_topology:DeleteAutoAllocatedTopology
net-ip-availability-list = neutronclient.neutron.v2_0.network_ip_availability:ListIpAvailability
net-ip-availability-show = neutronclient.neutron.v2_0.network_ip_availability:ShowIpAvailability
tag-add = neutronclient.neutron.v2_0.tag:AddTag
tag-replace = neutronclient.neutron.v2_0.tag:ReplaceTag
tag-remove = neutronclient.neutron.v2_0.tag:RemoveTag
qos-policy-list = neutronclient.neutron.v2_0.qos.policy:ListQoSPolicy
qos-policy-show = neutronclient.neutron.v2_0.qos.policy:ShowQoSPolicy
qos-policy-create = neutronclient.neutron.v2_0.qos.policy:CreateQoSPolicy
qos-policy-update = neutronclient.neutron.v2_0.qos.policy:UpdateQoSPolicy
qos-policy-delete = neutronclient.neutron.v2_0.qos.policy:DeleteQoSPolicy
qos-bandwidth-limit-rule-create = neutronclient.neutron.v2_0.qos.bandwidth_limit_rule:CreateQoSBandwidthLimitRule
qos-bandwidth-limit-rule-show = neutronclient.neutron.v2_0.qos.bandwidth_limit_rule:ShowQoSBandwidthLimitRule
qos-bandwidth-limit-rule-list = neutronclient.neutron.v2_0.qos.bandwidth_limit_rule:ListQoSBandwidthLimitRules
qos-bandwidth-limit-rule-update = neutronclient.neutron.v2_0.qos.bandwidth_limit_rule:UpdateQoSBandwidthLimitRule
qos-bandwidth-limit-rule-delete = neutronclient.neutron.v2_0.qos.bandwidth_limit_rule:DeleteQoSBandwidthLimitRule
qos-dscp-marking-rule-create = neutronclient.neutron.v2_0.qos.dscp_marking_rule:CreateQoSDscpMarkingRule
qos-dscp-marking-rule-show = neutronclient.neutron.v2_0.qos.dscp_marking_rule:ShowQoSDscpMarkingRule
qos-dscp-marking-rule-list = neutronclient.neutron.v2_0.qos.dscp_marking_rule:ListQoSDscpMarkingRules
qos-dscp-marking-rule-update = neutronclient.neutron.v2_0.qos.dscp_marking_rule:UpdateQoSDscpMarkingRule
qos-dscp-marking-rule-delete = neutronclient.neutron.v2_0.qos.dscp_marking_rule:DeleteQoSDscpMarkingRule
qos-minimum-bandwidth-rule-create = neutronclient.neutron.v2_0.qos.minimum_bandwidth_rule:CreateQoSMinimumBandwidthRule
qos-minimum-bandwidth-rule-show = neutronclient.neutron.v2_0.qos.minimum_bandwidth_rule:ShowQoSMinimumBandwidthRule
qos-minimum-bandwidth-rule-list = neutronclient.neutron.v2_0.qos.minimum_bandwidth_rule:ListQoSMinimumBandwidthRules
qos-minimum-bandwidth-rule-update = neutronclient.neutron.v2_0.qos.minimum_bandwidth_rule:UpdateQoSMinimumBandwidthRule
qos-minimum-bandwidth-rule-delete = neutronclient.neutron.v2_0.qos.minimum_bandwidth_rule:DeleteQoSMinimumBandwidthRule
qos-available-rule-types = neutronclient.neutron.v2_0.qos.rule:ListQoSRuleTypes
flavor-list = neutronclient.neutron.v2_0.flavor.flavor:ListFlavor
flavor-show = neutronclient.neutron.v2_0.flavor.flavor:ShowFlavor
flavor-create = neutronclient.neutron.v2_0.flavor.flavor:CreateFlavor
flavor-delete = neutronclient.neutron.v2_0.flavor.flavor:DeleteFlavor
flavor-update = neutronclient.neutron.v2_0.flavor.flavor:UpdateFlavor
flavor-associate = neutronclient.neutron.v2_0.flavor.flavor:AssociateFlavor
flavor-disassociate = neutronclient.neutron.v2_0.flavor.flavor:DisassociateFlavor
flavor-profile-list = neutronclient.neutron.v2_0.flavor.flavor_profile:ListFlavorProfile
flavor-profile-show = neutronclient.neutron.v2_0.flavor.flavor_profile:ShowFlavorProfile
flavor-profile-create = neutronclient.neutron.v2_0.flavor.flavor_profile:CreateFlavorProfile
flavor-profile-delete = neutronclient.neutron.v2_0.flavor.flavor_profile:DeleteFlavorProfile
flavor-profile-update = neutronclient.neutron.v2_0.flavor.flavor_profile:UpdateFlavorProfile
meter-label-create = neutronclient.neutron.v2_0.metering:CreateMeteringLabel
meter-label-list = neutronclient.neutron.v2_0.metering:ListMeteringLabel
meter-label-show = neutronclient.neutron.v2_0.metering:ShowMeteringLabel
meter-label-delete = neutronclient.neutron.v2_0.metering:DeleteMeteringLabel
meter-label-rule-create = neutronclient.neutron.v2_0.metering:CreateMeteringLabelRule
meter-label-rule-list = neutronclient.neutron.v2_0.metering:ListMeteringLabelRule
meter-label-rule-show = neutronclient.neutron.v2_0.metering:ShowMeteringLabelRule
meter-label-rule-delete = neutronclient.neutron.v2_0.metering:DeleteMeteringLabelRule
firewall-rule-list = neutronclient.neutron.v2_0.fw.firewallrule:ListFirewallRule
firewall-rule-show = neutronclient.neutron.v2_0.fw.firewallrule:ShowFirewallRule
firewall-rule-create = neutronclient.neutron.v2_0.fw.firewallrule:CreateFirewallRule
firewall-rule-update = neutronclient.neutron.v2_0.fw.firewallrule:UpdateFirewallRule
firewall-rule-delete = neutronclient.neutron.v2_0.fw.firewallrule:DeleteFirewallRule
firewall-policy-list = neutronclient.neutron.v2_0.fw.firewallpolicy:ListFirewallPolicy
firewall-policy-show = neutronclient.neutron.v2_0.fw.firewallpolicy:ShowFirewallPolicy
firewall-policy-create = neutronclient.neutron.v2_0.fw.firewallpolicy:CreateFirewallPolicy
firewall-policy-update = neutronclient.neutron.v2_0.fw.firewallpolicy:UpdateFirewallPolicy
firewall-policy-delete = neutronclient.neutron.v2_0.fw.firewallpolicy:DeleteFirewallPolicy
firewall-policy-insert-rule = neutronclient.neutron.v2_0.fw.firewallpolicy:FirewallPolicyInsertRule
firewall-policy-remove-rule = neutronclient.neutron.v2_0.fw.firewallpolicy:FirewallPolicyRemoveRule
firewall-list = neutronclient.neutron.v2_0.fw.firewall:ListFirewall
firewall-show = neutronclient.neutron.v2_0.fw.firewall:ShowFirewall
firewall-create = neutronclient.neutron.v2_0.fw.firewall:CreateFirewall
firewall-update = neutronclient.neutron.v2_0.fw.firewall:UpdateFirewall
firewall-delete = neutronclient.neutron.v2_0.fw.firewall:DeleteFirewall
bgp-dragent-speaker-add = neutronclient.neutron.v2_0.bgp.dragentscheduler:AddBGPSpeakerToDRAgent
bgp-dragent-speaker-remove = neutronclient.neutron.v2_0.bgp.dragentscheduler:RemoveBGPSpeakerFromDRAgent
bgp-speaker-list-on-dragent = neutronclient.neutron.v2_0.bgp.dragentscheduler:ListBGPSpeakersOnDRAgent
bgp-dragent-list-hosting-speaker = neutronclient.neutron.v2_0.bgp.dragentscheduler:ListDRAgentsHostingBGPSpeaker
bgp-speaker-list = neutronclient.neutron.v2_0.bgp.speaker:ListSpeakers
bgp-speaker-advertiseroute-list = neutronclient.neutron.v2_0.bgp.speaker:ListRoutesAdvertisedBySpeaker
bgp-speaker-show = neutronclient.neutron.v2_0.bgp.speaker:ShowSpeaker
bgp-speaker-create = neutronclient.neutron.v2_0.bgp.speaker:CreateSpeaker
bgp-speaker-update = neutronclient.neutron.v2_0.bgp.speaker:UpdateSpeaker
bgp-speaker-delete = neutronclient.neutron.v2_0.bgp.speaker:DeleteSpeaker
bgp-speaker-peer-add = neutronclient.neutron.v2_0.bgp.speaker:AddPeerToSpeaker
bgp-speaker-peer-remove = neutronclient.neutron.v2_0.bgp.speaker:RemovePeerFromSpeaker
bgp-speaker-network-add = neutronclient.neutron.v2_0.bgp.speaker:AddNetworkToSpeaker
bgp-speaker-network-remove = neutronclient.neutron.v2_0.bgp.speaker:RemoveNetworkFromSpeaker
bgp-peer-list = neutronclient.neutron.v2_0.bgp.peer:ListPeers
bgp-peer-show = neutronclient.neutron.v2_0.bgp.peer:ShowPeer
bgp-peer-create = neutronclient.neutron.v2_0.bgp.peer:CreatePeer
bgp-peer-update = neutronclient.neutron.v2_0.bgp.peer:UpdatePeer
bgp-peer-delete = neutronclient.neutron.v2_0.bgp.peer:DeletePeer
lbaas-loadbalancer-list = neutronclient.neutron.v2_0.lb.v2.loadbalancer:ListLoadBalancer
lbaas-loadbalancer-show = neutronclient.neutron.v2_0.lb.v2.loadbalancer:ShowLoadBalancer
lbaas-loadbalancer-create = neutronclient.neutron.v2_0.lb.v2.loadbalancer:CreateLoadBalancer
lbaas-loadbalancer-update = neutronclient.neutron.v2_0.lb.v2.loadbalancer:UpdateLoadBalancer
lbaas-loadbalancer-delete = neutronclient.neutron.v2_0.lb.v2.loadbalancer:DeleteLoadBalancer
lbaas-loadbalancer-stats = neutronclient.neutron.v2_0.lb.v2.loadbalancer:RetrieveLoadBalancerStats
lbaas-loadbalancer-status = neutronclient.neutron.v2_0.lb.v2.loadbalancer:RetrieveLoadBalancerStatus
lbaas-listener-list = neutronclient.neutron.v2_0.lb.v2.listener:ListListener
lbaas-listener-show = neutronclient.neutron.v2_0.lb.v2.listener:ShowListener
lbaas-listener-create = neutronclient.neutron.v2_0.lb.v2.listener:CreateListener
lbaas-listener-update = neutronclient.neutron.v2_0.lb.v2.listener:UpdateListener
lbaas-listener-delete = neutronclient.neutron.v2_0.lb.v2.listener:DeleteListener
lbaas-l7policy-list = neutronclient.neutron.v2_0.lb.v2.l7policy:ListL7Policy
lbaas-l7policy-show = neutronclient.neutron.v2_0.lb.v2.l7policy:ShowL7Policy
lbaas-l7policy-create = neutronclient.neutron.v2_0.lb.v2.l7policy:CreateL7Policy
lbaas-l7policy-update = neutronclient.neutron.v2_0.lb.v2.l7policy:UpdateL7Policy
lbaas-l7policy-delete = neutronclient.neutron.v2_0.lb.v2.l7policy:DeleteL7Policy
lbaas-l7rule-list = neutronclient.neutron.v2_0.lb.v2.l7rule:ListL7Rule
lbaas-l7rule-show = neutronclient.neutron.v2_0.lb.v2.l7rule:ShowL7Rule
lbaas-l7rule-create = neutronclient.neutron.v2_0.lb.v2.l7rule:CreateL7Rule
lbaas-l7rule-update = neutronclient.neutron.v2_0.lb.v2.l7rule:UpdateL7Rule
lbaas-l7rule-delete = neutronclient.neutron.v2_0.lb.v2.l7rule:DeleteL7Rule
lbaas-pool-list = neutronclient.neutron.v2_0.lb.v2.pool:ListPool
lbaas-pool-show = neutronclient.neutron.v2_0.lb.v2.pool:ShowPool
lbaas-pool-create = neutronclient.neutron.v2_0.lb.v2.pool:CreatePool
lbaas-pool-update = neutronclient.neutron.v2_0.lb.v2.pool:UpdatePool
lbaas-pool-delete = neutronclient.neutron.v2_0.lb.v2.pool:DeletePool
lbaas-healthmonitor-list = neutronclient.neutron.v2_0.lb.v2.healthmonitor:ListHealthMonitor
lbaas-healthmonitor-show = neutronclient.neutron.v2_0.lb.v2.healthmonitor:ShowHealthMonitor
lbaas-healthmonitor-create = neutronclient.neutron.v2_0.lb.v2.healthmonitor:CreateHealthMonitor
lbaas-healthmonitor-update = neutronclient.neutron.v2_0.lb.v2.healthmonitor:UpdateHealthMonitor
lbaas-healthmonitor-delete = neutronclient.neutron.v2_0.lb.v2.healthmonitor:DeleteHealthMonitor
lbaas-member-list = neutronclient.neutron.v2_0.lb.v2.member:ListMember
lbaas-member-show = neutronclient.neutron.v2_0.lb.v2.member:ShowMember
lbaas-member-create = neutronclient.neutron.v2_0.lb.v2.member:CreateMember
lbaas-member-update = neutronclient.neutron.v2_0.lb.v2.member:UpdateMember
lbaas-member-delete = neutronclient.neutron.v2_0.lb.v2.member:DeleteMember
lb-vip-list = neutronclient.neutron.v2_0.lb.vip:ListVip
lb-vip-show = neutronclient.neutron.v2_0.lb.vip:ShowVip
lb-vip-create = neutronclient.neutron.v2_0.lb.vip:CreateVip
lb-vip-update = neutronclient.neutron.v2_0.lb.vip:UpdateVip
lb-vip-delete = neutronclient.neutron.v2_0.lb.vip:DeleteVip
lb-pool-list = neutronclient.neutron.v2_0.lb.pool:ListPool
lb-pool-show = neutronclient.neutron.v2_0.lb.pool:ShowPool
lb-pool-create = neutronclient.neutron.v2_0.lb.pool:CreatePool
lb-pool-update = neutronclient.neutron.v2_0.lb.pool:UpdatePool
lb-pool-delete = neutronclient.neutron.v2_0.lb.pool:DeletePool
lb-pool-stats = neutronclient.neutron.v2_0.lb.pool:RetrievePoolStats
lb-member-list = neutronclient.neutron.v2_0.lb.member:ListMember
lb-member-show = neutronclient.neutron.v2_0.lb.member:ShowMember
lb-member-create = neutronclient.neutron.v2_0.lb.member:CreateMember
lb-member-update = neutronclient.neutron.v2_0.lb.member:UpdateMember
lb-member-delete = neutronclient.neutron.v2_0.lb.member:DeleteMember
lb-healthmonitor-list = neutronclient.neutron.v2_0.lb.healthmonitor:ListHealthMonitor
lb-healthmonitor-show = neutronclient.neutron.v2_0.lb.healthmonitor:ShowHealthMonitor
lb-healthmonitor-create = neutronclient.neutron.v2_0.lb.healthmonitor:CreateHealthMonitor
lb-healthmonitor-update = neutronclient.neutron.v2_0.lb.healthmonitor:UpdateHealthMonitor
lb-healthmonitor-delete = neutronclient.neutron.v2_0.lb.healthmonitor:DeleteHealthMonitor
lb-healthmonitor-associate = neutronclient.neutron.v2_0.lb.healthmonitor:AssociateHealthMonitor
lb-healthmonitor-disassociate = neutronclient.neutron.v2_0.lb.healthmonitor:DisassociateHealthMonitor
ipsec-site-connection-list = neutronclient.neutron.v2_0.vpn.ipsec_site_connection:ListIPsecSiteConnection
ipsec-site-connection-show = neutronclient.neutron.v2_0.vpn.ipsec_site_connection:ShowIPsecSiteConnection
ipsec-site-connection-create = neutronclient.neutron.v2_0.vpn.ipsec_site_connection:CreateIPsecSiteConnection
ipsec-site-connection-update = neutronclient.neutron.v2_0.vpn.ipsec_site_connection:UpdateIPsecSiteConnection
ipsec-site-connection-delete = neutronclient.neutron.v2_0.vpn.ipsec_site_connection:DeleteIPsecSiteConnection
vpn-endpoint-group-list = neutronclient.neutron.v2_0.vpn.endpoint_group:ListEndpointGroup
vpn-endpoint-group-show = neutronclient.neutron.v2_0.vpn.endpoint_group:ShowEndpointGroup
vpn-endpoint-group-create = neutronclient.neutron.v2_0.vpn.endpoint_group:CreateEndpointGroup
vpn-endpoint-group-update = neutronclient.neutron.v2_0.vpn.endpoint_group:UpdateEndpointGroup
vpn-endpoint-group-delete = neutronclient.neutron.v2_0.vpn.endpoint_group:DeleteEndpointGroup
vpn-service-list = neutronclient.neutron.v2_0.vpn.vpnservice:ListVPNService
vpn-service-show = neutronclient.neutron.v2_0.vpn.vpnservice:ShowVPNService
vpn-service-create = neutronclient.neutron.v2_0.vpn.vpnservice:CreateVPNService
vpn-service-update = neutronclient.neutron.v2_0.vpn.vpnservice:UpdateVPNService
vpn-service-delete = neutronclient.neutron.v2_0.vpn.vpnservice:DeleteVPNService
vpn-ipsecpolicy-list = neutronclient.neutron.v2_0.vpn.ipsecpolicy:ListIPsecPolicy
vpn-ipsecpolicy-show = neutronclient.neutron.v2_0.vpn.ipsecpolicy:ShowIPsecPolicy
vpn-ipsecpolicy-create = neutronclient.neutron.v2_0.vpn.ipsecpolicy:CreateIPsecPolicy
vpn-ipsecpolicy-update = neutronclient.neutron.v2_0.vpn.ipsecpolicy:UpdateIPsecPolicy
vpn-ipsecpolicy-delete = neutronclient.neutron.v2_0.vpn.ipsecpolicy:DeleteIPsecPolicy
vpn-ikepolicy-list = neutronclient.neutron.v2_0.vpn.ikepolicy:ListIKEPolicy
vpn-ikepolicy-show = neutronclient.neutron.v2_0.vpn.ikepolicy:ShowIKEPolicy
vpn-ikepolicy-create = neutronclient.neutron.v2_0.vpn.ikepolicy:CreateIKEPolicy
vpn-ikepolicy-update = neutronclient.neutron.v2_0.vpn.ikepolicy:UpdateIKEPolicy
vpn-ikepolicy-delete = neutronclient.neutron.v2_0.vpn.ikepolicy:DeleteIKEPolicy
[build_sphinx]
all_files = 1
build-dir = doc/build