summaryrefslogtreecommitdiff
path: root/openstackclient/compute/v2/server.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-07-31 15:16:48 +0000
committerGerrit Code Review <review@openstack.org>2013-07-31 15:16:48 +0000
commit661da45f58d3a48cce4720aa2f10b6cd616376e8 (patch)
treeb146866aff2fa0c87c6511f0154b08ea705c145c /openstackclient/compute/v2/server.py
parent9ec1cf385ee1434ebdb13a9de2f35024925ff50f (diff)
parentc94e262df8d2d37e6c2043a3c3d0bc1cb78348a5 (diff)
downloadpython-openstackclient-661da45f58d3a48cce4720aa2f10b6cd616376e8.tar.gz
Merge "Add security group commands"
Diffstat (limited to 'openstackclient/compute/v2/server.py')
-rw-r--r--openstackclient/compute/v2/server.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 793461eb..950f0e02 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -142,6 +142,43 @@ class AddServerVolume(command.Command):
)
+class AddServerSecurityGroup(command.Command):
+ """Add security group to server"""
+
+ log = logging.getLogger(__name__ + '.AddServerSecurityGroup')
+
+ def get_parser(self, prog_name):
+ parser = super(AddServerSecurityGroup, self).get_parser(prog_name)
+ parser.add_argument(
+ 'server',
+ metavar='<server>',
+ help='Name or ID of server to use',
+ )
+ parser.add_argument(
+ 'group',
+ metavar='<group>',
+ help='Name or ID of security group to add to server',
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ self.log.debug("take_action(%s)" % parsed_args)
+
+ compute_client = self.app.client_manager.compute
+
+ server = utils.find_resource(
+ compute_client.servers,
+ parsed_args.server,
+ )
+ security_group = utils.find_resource(
+ compute_client.security_groups,
+ parsed_args.group,
+ )
+
+ server.add_security_group(security_group)
+ return
+
+
class CreateServer(show.ShowOne):
"""Create a new server"""
@@ -732,6 +769,42 @@ class RebuildServer(show.ShowOne):
return zip(*sorted(six.iteritems(details)))
+class RemoveServerSecurityGroup(command.Command):
+ """Remove security group from server"""
+
+ log = logging.getLogger(__name__ + '.RemoveServerSecurityGroup')
+
+ def get_parser(self, prog_name):
+ parser = super(RemoveServerSecurityGroup, self).get_parser(prog_name)
+ parser.add_argument(
+ 'server',
+ metavar='<server>',
+ help='Name or ID of server to use',
+ )
+ parser.add_argument(
+ 'group',
+ metavar='<group>',
+ help='Name or ID of security group to remove from server',
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ self.log.debug("take_action(%s)" % parsed_args)
+
+ compute_client = self.app.client_manager.compute
+
+ server = utils.find_resource(
+ compute_client.servers,
+ parsed_args.server,
+ )
+ security_group = utils.find_resource(
+ compute_client.security_groups,
+ parsed_args.group,
+ )
+
+ server.remove_security_group(security_group)
+
+
class RemoveServerVolume(command.Command):
"""Remove volume from server"""