Skip to content

Commit 74f84f3

Browse files
committed
Refactor: Order of security group class names
Per comment in [1], refactor the security group class names to be in alphabetical order. [1] https://review.openstack.org/#/c/249223 Change-Id: If28a153cdab57c0659ff5c78b276766d4043467f
1 parent c0676fe commit 74f84f3

1 file changed

Lines changed: 123 additions & 123 deletions

File tree

openstackclient/compute/v2/security_group.py

Lines changed: 123 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,64 @@ def take_action(self, parsed_args):
9393
return zip(*sorted(six.iteritems(info)))
9494

9595

96+
class CreateSecurityGroupRule(show.ShowOne):
97+
"""Create a new security group rule"""
98+
99+
log = logging.getLogger(__name__ + ".CreateSecurityGroupRule")
100+
101+
def get_parser(self, prog_name):
102+
parser = super(CreateSecurityGroupRule, self).get_parser(prog_name)
103+
parser.add_argument(
104+
'group',
105+
metavar='<group>',
106+
help='Create rule in this security group (name or ID)',
107+
)
108+
parser.add_argument(
109+
"--proto",
110+
metavar="<proto>",
111+
default="tcp",
112+
help="IP protocol (icmp, tcp, udp; default: tcp)",
113+
)
114+
parser.add_argument(
115+
"--src-ip",
116+
metavar="<ip-address>",
117+
default="0.0.0.0/0",
118+
help="Source IP (may use CIDR notation; default: 0.0.0.0/0)",
119+
)
120+
parser.add_argument(
121+
"--dst-port",
122+
metavar="<port-range>",
123+
default=(0, 0),
124+
action=parseractions.RangeAction,
125+
help="Destination port, may be a range: 137:139 (default: 0; "
126+
"only required for proto tcp and udp)",
127+
)
128+
return parser
129+
130+
def take_action(self, parsed_args):
131+
self.log.debug("take_action(%s)", parsed_args)
132+
133+
compute_client = self.app.client_manager.compute
134+
group = utils.find_resource(
135+
compute_client.security_groups,
136+
parsed_args.group,
137+
)
138+
if parsed_args.proto.lower() == 'icmp':
139+
from_port, to_port = -1, -1
140+
else:
141+
from_port, to_port = parsed_args.dst_port
142+
data = compute_client.security_group_rules.create(
143+
group.id,
144+
parsed_args.proto,
145+
from_port,
146+
to_port,
147+
parsed_args.src_ip,
148+
)
149+
150+
info = _xform_security_group_rule(data._info)
151+
return zip(*sorted(six.iteritems(info)))
152+
153+
96154
class DeleteSecurityGroup(command.Command):
97155
"""Delete a security group"""
98156

@@ -119,6 +177,28 @@ def take_action(self, parsed_args):
119177
return
120178

121179

180+
class DeleteSecurityGroupRule(command.Command):
181+
"""Delete a security group rule"""
182+
183+
log = logging.getLogger(__name__ + '.DeleteSecurityGroupRule')
184+
185+
def get_parser(self, prog_name):
186+
parser = super(DeleteSecurityGroupRule, self).get_parser(prog_name)
187+
parser.add_argument(
188+
'rule',
189+
metavar='<rule>',
190+
help='Security group rule to delete (ID only)',
191+
)
192+
return parser
193+
194+
@utils.log_method(log)
195+
def take_action(self, parsed_args):
196+
197+
compute_client = self.app.client_manager.compute
198+
compute_client.security_group_rules.delete(parsed_args.rule)
199+
return
200+
201+
122202
class ListSecurityGroup(lister.Lister):
123203
"""List security groups"""
124204

@@ -175,6 +255,49 @@ def _get_project(project_id):
175255
) for s in data))
176256

177257

258+
class ListSecurityGroupRule(lister.Lister):
259+
"""List security group rules"""
260+
261+
log = logging.getLogger(__name__ + ".ListSecurityGroupRule")
262+
263+
def get_parser(self, prog_name):
264+
parser = super(ListSecurityGroupRule, self).get_parser(prog_name)
265+
parser.add_argument(
266+
'group',
267+
metavar='<group>',
268+
help='List all rules in this security group (name or ID)',
269+
)
270+
return parser
271+
272+
def take_action(self, parsed_args):
273+
self.log.debug("take_action(%s)", parsed_args)
274+
275+
compute_client = self.app.client_manager.compute
276+
group = utils.find_resource(
277+
compute_client.security_groups,
278+
parsed_args.group,
279+
)
280+
281+
# Argh, the rules are not Resources...
282+
rules = []
283+
for rule in group.rules:
284+
rules.append(security_group_rules.SecurityGroupRule(
285+
compute_client.security_group_rules,
286+
_xform_security_group_rule(rule),
287+
))
288+
289+
columns = column_headers = (
290+
"ID",
291+
"IP Protocol",
292+
"IP Range",
293+
"Port Range",
294+
)
295+
return (column_headers,
296+
(utils.get_item_properties(
297+
s, columns,
298+
) for s in rules))
299+
300+
178301
class SetSecurityGroup(show.ShowOne):
179302
"""Set security group properties"""
180303

@@ -263,126 +386,3 @@ def take_action(self, parsed_args):
263386
)
264387

265388
return zip(*sorted(six.iteritems(info)))
266-
267-
268-
class CreateSecurityGroupRule(show.ShowOne):
269-
"""Create a new security group rule"""
270-
271-
log = logging.getLogger(__name__ + ".CreateSecurityGroupRule")
272-
273-
def get_parser(self, prog_name):
274-
parser = super(CreateSecurityGroupRule, self).get_parser(prog_name)
275-
parser.add_argument(
276-
'group',
277-
metavar='<group>',
278-
help='Create rule in this security group (name or ID)',
279-
)
280-
parser.add_argument(
281-
"--proto",
282-
metavar="<proto>",
283-
default="tcp",
284-
help="IP protocol (icmp, tcp, udp; default: tcp)",
285-
)
286-
parser.add_argument(
287-
"--src-ip",
288-
metavar="<ip-address>",
289-
default="0.0.0.0/0",
290-
help="Source IP (may use CIDR notation; default: 0.0.0.0/0)",
291-
)
292-
parser.add_argument(
293-
"--dst-port",
294-
metavar="<port-range>",
295-
default=(0, 0),
296-
action=parseractions.RangeAction,
297-
help="Destination port, may be a range: 137:139 (default: 0; "
298-
"only required for proto tcp and udp)",
299-
)
300-
return parser
301-
302-
def take_action(self, parsed_args):
303-
self.log.debug("take_action(%s)", parsed_args)
304-
305-
compute_client = self.app.client_manager.compute
306-
group = utils.find_resource(
307-
compute_client.security_groups,
308-
parsed_args.group,
309-
)
310-
if parsed_args.proto.lower() == 'icmp':
311-
from_port, to_port = -1, -1
312-
else:
313-
from_port, to_port = parsed_args.dst_port
314-
data = compute_client.security_group_rules.create(
315-
group.id,
316-
parsed_args.proto,
317-
from_port,
318-
to_port,
319-
parsed_args.src_ip,
320-
)
321-
322-
info = _xform_security_group_rule(data._info)
323-
return zip(*sorted(six.iteritems(info)))
324-
325-
326-
class DeleteSecurityGroupRule(command.Command):
327-
"""Delete a security group rule"""
328-
329-
log = logging.getLogger(__name__ + '.DeleteSecurityGroupRule')
330-
331-
def get_parser(self, prog_name):
332-
parser = super(DeleteSecurityGroupRule, self).get_parser(prog_name)
333-
parser.add_argument(
334-
'rule',
335-
metavar='<rule>',
336-
help='Security group rule to delete (ID only)',
337-
)
338-
return parser
339-
340-
@utils.log_method(log)
341-
def take_action(self, parsed_args):
342-
343-
compute_client = self.app.client_manager.compute
344-
compute_client.security_group_rules.delete(parsed_args.rule)
345-
return
346-
347-
348-
class ListSecurityGroupRule(lister.Lister):
349-
"""List security group rules"""
350-
351-
log = logging.getLogger(__name__ + ".ListSecurityGroupRule")
352-
353-
def get_parser(self, prog_name):
354-
parser = super(ListSecurityGroupRule, self).get_parser(prog_name)
355-
parser.add_argument(
356-
'group',
357-
metavar='<group>',
358-
help='List all rules in this security group (name or ID)',
359-
)
360-
return parser
361-
362-
def take_action(self, parsed_args):
363-
self.log.debug("take_action(%s)", parsed_args)
364-
365-
compute_client = self.app.client_manager.compute
366-
group = utils.find_resource(
367-
compute_client.security_groups,
368-
parsed_args.group,
369-
)
370-
371-
# Argh, the rules are not Resources...
372-
rules = []
373-
for rule in group.rules:
374-
rules.append(security_group_rules.SecurityGroupRule(
375-
compute_client.security_group_rules,
376-
_xform_security_group_rule(rule),
377-
))
378-
379-
columns = column_headers = (
380-
"ID",
381-
"IP Protocol",
382-
"IP Range",
383-
"Port Range",
384-
)
385-
return (column_headers,
386-
(utils.get_item_properties(
387-
s, columns,
388-
) for s in rules))

0 commit comments

Comments
 (0)