diff options
| author | Huanxuan Ao <huanxuan.ao@easystack.cn> | 2016-08-10 15:26:45 +0800 |
|---|---|---|
| committer | Huanxuan Ao <huanxuan.ao@easystack.cn> | 2016-08-10 15:39:44 +0800 |
| commit | 722be75f9cffec7242d893cac20d40c570af32d6 (patch) | |
| tree | 8ce2fb64845c642ef6bc73a84cf23d6c9f3616c1 /openstackclient/network/v2 | |
| parent | 0b91368164acc596bf97fe4073083e26892f5b1a (diff) | |
| download | python-openstackclient-722be75f9cffec7242d893cac20d40c570af32d6.tar.gz | |
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 <michael.gugino@walmart.com>
Diffstat (limited to 'openstackclient/network/v2')
| -rw-r--r-- | openstackclient/network/v2/network_agent.py | 41 |
1 files changed, 41 insertions, 0 deletions
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="<network-agent>", + help=(_("Network agent to modify (ID only)")) + ) + parser.add_argument( + '--description', + metavar='<description>', + 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""" |
