summaryrefslogtreecommitdiff
path: root/openstackclient/network/v2
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-04-17 17:35:33 +0000
committerGerrit Code Review <review@openstack.org>2017-04-17 17:35:33 +0000
commit9a1c9cabd4e806f81d162d2f4136e6d39ae2c456 (patch)
treef886594609e38c987efc940adb2146848499e1e2 /openstackclient/network/v2
parent62d71aa2435b2257670480dce73d2192652bb14d (diff)
parent4289ddd47a9c92eb3033eccf39966915caae05db (diff)
downloadpython-openstackclient-9a1c9cabd4e806f81d162d2f4136e6d39ae2c456.tar.gz
Merge "Low-level Compute v2 API: security group"
Diffstat (limited to 'openstackclient/network/v2')
-rw-r--r--openstackclient/network/v2/security_group.py36
-rw-r--r--openstackclient/network/v2/security_group_rule.py42
2 files changed, 34 insertions, 44 deletions
diff --git a/openstackclient/network/v2/security_group.py b/openstackclient/network/v2/security_group.py
index 182d4817..75af3587 100644
--- a/openstackclient/network/v2/security_group.py
+++ b/openstackclient/network/v2/security_group.py
@@ -140,13 +140,13 @@ class CreateSecurityGroup(common.NetworkAndComputeShowOne):
def take_action_compute(self, client, parsed_args):
description = self._get_description(parsed_args)
- obj = client.security_groups.create(
+ obj = client.api.security_group_create(
parsed_args.name,
description,
)
display_columns, property_columns = _get_columns(obj)
data = utils.get_dict_properties(
- obj._info,
+ obj,
property_columns,
formatters=_formatters_compute
)
@@ -174,8 +174,7 @@ class DeleteSecurityGroup(common.NetworkAndComputeDelete):
client.delete_security_group(obj)
def take_action_compute(self, client, parsed_args):
- data = utils.find_resource(client.security_groups, self.r)
- client.security_groups.delete(data.id)
+ client.api.security_group_delete(self.r)
# TODO(rauta): Use the SDK resource mapped attribute names once
@@ -242,7 +241,10 @@ class ListSecurityGroup(common.NetworkAndComputeLister):
def take_action_compute(self, client, parsed_args):
search = {'all_tenants': parsed_args.all_projects}
- data = client.security_groups.list(search_opts=search)
+ data = client.api.security_group_list(
+ # TODO(dtroyer): add limit, marker
+ search_opts=search,
+ )
columns = (
"ID",
@@ -254,7 +256,7 @@ class ListSecurityGroup(common.NetworkAndComputeLister):
columns = columns + ('Tenant ID',)
column_headers = column_headers + ('Project',)
return (column_headers,
- (utils.get_item_properties(
+ (utils.get_dict_properties(
s, columns,
) for s in data))
@@ -294,23 +296,20 @@ class SetSecurityGroup(common.NetworkAndComputeCommand):
client.update_security_group(obj, **attrs)
def take_action_compute(self, client, parsed_args):
- data = utils.find_resource(
- client.security_groups,
- parsed_args.group,
- )
+ data = client.api.security_group_find(parsed_args.group)
if parsed_args.name is not None:
- data.name = parsed_args.name
+ data['name'] = parsed_args.name
if parsed_args.description is not None:
- data.description = parsed_args.description
+ data['description'] = parsed_args.description
# NOTE(rtheis): Previous behavior did not raise a CommandError
# if there were no updates. Maintain this behavior and issue
# the update.
- client.security_groups.update(
+ client.api.security_group_set(
data,
- data.name,
- data.description,
+ data['name'],
+ data['description'],
)
@@ -337,13 +336,10 @@ class ShowSecurityGroup(common.NetworkAndComputeShowOne):
return (display_columns, data)
def take_action_compute(self, client, parsed_args):
- obj = utils.find_resource(
- client.security_groups,
- parsed_args.group,
- )
+ obj = client.api.security_group_find(parsed_args.group)
display_columns, property_columns = _get_columns(obj)
data = utils.get_dict_properties(
- obj._info,
+ obj,
property_columns,
formatters=_formatters_compute
)
diff --git a/openstackclient/network/v2/security_group_rule.py b/openstackclient/network/v2/security_group_rule.py
index 8f07c5a4..33c3ff02 100644
--- a/openstackclient/network/v2/security_group_rule.py
+++ b/openstackclient/network/v2/security_group_rule.py
@@ -16,11 +16,6 @@
import argparse
import logging
-try:
- from novaclient.v2 import security_group_rules as compute_secgroup_rules
-except ImportError:
- from novaclient.v1_1 import security_group_rules as compute_secgroup_rules
-
from osc_lib.cli import parseractions
from osc_lib import exceptions
from osc_lib import utils
@@ -348,10 +343,7 @@ class CreateSecurityGroupRule(common.NetworkAndComputeShowOne):
return (display_columns, data)
def take_action_compute(self, client, parsed_args):
- group = utils.find_resource(
- client.security_groups,
- parsed_args.group,
- )
+ group = client.api.security_group_find(parsed_args.group)
protocol = self._get_protocol(parsed_args)
if protocol == 'icmp':
from_port, to_port = -1, -1
@@ -363,10 +355,9 @@ class CreateSecurityGroupRule(common.NetworkAndComputeShowOne):
remote_ip = None
if not (parsed_args.remote_group is None and
parsed_args.src_group is None):
- parsed_args.remote_group = utils.find_resource(
- client.security_groups,
+ parsed_args.remote_group = client.api.security_group_find(
parsed_args.remote_group or parsed_args.src_group,
- ).id
+ )['id']
if parsed_args.src_group:
LOG.warning(
_("The %(old)s option is deprecated, "
@@ -384,8 +375,9 @@ class CreateSecurityGroupRule(common.NetworkAndComputeShowOne):
)
else:
remote_ip = '0.0.0.0/0'
+
obj = client.security_group_rules.create(
- group.id,
+ group['id'],
protocol,
from_port,
to_port,
@@ -567,27 +559,29 @@ class ListSecurityGroupRule(common.NetworkAndComputeLister):
rules_to_list = []
if parsed_args.group is not None:
- group = utils.find_resource(
- client.security_groups,
+ group = client.api.security_group_find(
parsed_args.group,
)
- rules_to_list = group.rules
+ rules_to_list = group['rules']
else:
columns = columns + ('parent_group_id',)
search = {'all_tenants': parsed_args.all_projects}
- for group in client.security_groups.list(search_opts=search):
- rules_to_list.extend(group.rules)
+ for group in client.api.security_group_list(search_opts=search):
+ rules_to_list.extend(group['rules'])
# NOTE(rtheis): Turn the raw rules into resources.
rules = []
for rule in rules_to_list:
- rules.append(compute_secgroup_rules.SecurityGroupRule(
- client.security_group_rules,
+ rules.append(
network_utils.transform_compute_security_group_rule(rule),
- ))
+ )
+ # rules.append(compute_secgroup_rules.SecurityGroupRule(
+ # client.security_group_rules,
+ # network_utils.transform_compute_security_group_rule(rule),
+ # ))
return (column_headers,
- (utils.get_item_properties(
+ (utils.get_dict_properties(
s, columns,
) for s in rules))
@@ -617,8 +611,8 @@ class ShowSecurityGroupRule(common.NetworkAndComputeShowOne):
# the requested rule.
obj = None
security_group_rules = []
- for security_group in client.security_groups.list():
- security_group_rules.extend(security_group.rules)
+ for security_group in client.api.security_group_list():
+ security_group_rules.extend(security_group['rules'])
for security_group_rule in security_group_rules:
if parsed_args.rule == str(security_group_rule.get('id')):
obj = security_group_rule