From 722be75f9cffec7242d893cac20d40c570af32d6 Mon Sep 17 00:00:00 2001 From: Huanxuan Ao Date: Wed, 10 Aug 2016 15:26:45 +0800 Subject: Implement "network agent set" command Add "network agent set" command in network v2 to set network agent properties. Also add the unit test, doc, functional test and release note. Change-Id: Iebaee4c60f8c6b43f538c1b82a38b93178b9ce53 Implements: bp implement-network-agents Co-Authored-By: Michael Gugino --- openstackclient/network/v2/network_agent.py | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'openstackclient/network') diff --git a/openstackclient/network/v2/network_agent.py b/openstackclient/network/v2/network_agent.py index 1fb70a50..fdb34bb7 100644 --- a/openstackclient/network/v2/network_agent.py +++ b/openstackclient/network/v2/network_agent.py @@ -99,6 +99,47 @@ class ListNetworkAgent(command.Lister): ) for s in data)) +class SetNetworkAgent(command.Command): + """Set network agent properties""" + + def get_parser(self, prog_name): + parser = super(SetNetworkAgent, self).get_parser(prog_name) + parser.add_argument( + 'network_agent', + metavar="", + help=(_("Network agent to modify (ID only)")) + ) + parser.add_argument( + '--description', + metavar='', + help=_("Set network agent description") + ) + admin_group = parser.add_mutually_exclusive_group() + admin_group.add_argument( + '--enable', + action='store_true', + help=_("Enable network agent") + ) + admin_group.add_argument( + '--disable', + action='store_true', + help=_("Disable network agent") + ) + return parser + + def take_action(self, parsed_args): + client = self.app.client_manager.network + obj = client.get_agent(parsed_args.network_agent, ignore_missing=False) + attrs = {} + if parsed_args.description is not None: + attrs['description'] = str(parsed_args.description) + if parsed_args.enable: + attrs['admin_state_up'] = True + if parsed_args.disable: + attrs['admin_state_up'] = False + client.update_agent(obj, **attrs) + + class ShowNetworkAgent(command.ShowOne): """Display network agent details""" -- cgit v1.2.1