diff options
| author | Zuul <zuul@review.opendev.org> | 2020-10-13 12:21:15 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2020-10-13 12:21:15 +0000 |
| commit | 375fe315255535ad0a6451aa0d9270ca5c3ba3b9 (patch) | |
| tree | 82a1052b8a7df8d89305681dc56c04dffa9c4eaa /openstackclient | |
| parent | 1a0bf014979df54e6556c04fa4d08072032b7d3f (diff) | |
| parent | 58f1c90971969ee12089c2e5aeea4993d8c095d9 (diff) | |
| download | python-openstackclient-375fe315255535ad0a6451aa0d9270ca5c3ba3b9.tar.gz | |
Merge "Add source_ip_prefix and destination_ip_prefix to metering label rules"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/network/v2/network_meter_rule.py | 22 | ||||
| -rw-r--r-- | openstackclient/tests/unit/network/v2/fakes.py | 2 | ||||
| -rw-r--r-- | openstackclient/tests/unit/network/v2/test_network_meter_rule.py | 12 |
3 files changed, 35 insertions, 1 deletions
diff --git a/openstackclient/network/v2/network_meter_rule.py b/openstackclient/network/v2/network_meter_rule.py index 49ff9e1b..1cf0395f 100644 --- a/openstackclient/network/v2/network_meter_rule.py +++ b/openstackclient/network/v2/network_meter_rule.py @@ -46,6 +46,10 @@ def _get_attrs(client_manager, parsed_args): attrs['direction'] = 'egress' if parsed_args.remote_ip_prefix is not None: attrs['remote_ip_prefix'] = parsed_args.remote_ip_prefix + if parsed_args.source_ip_prefix is not None: + attrs['source_ip_prefix'] = parsed_args.source_ip_prefix + if parsed_args.destination_ip_prefix is not None: + attrs['destination_ip_prefix'] = parsed_args.destination_ip_prefix if parsed_args.meter is not None: attrs['metering_label_id'] = parsed_args.meter if parsed_args.project is not None: @@ -97,10 +101,22 @@ class CreateMeterRule(command.ShowOne): parser.add_argument( '--remote-ip-prefix', metavar='<remote-ip-prefix>', - required=True, + required=False, help=_('The remote IP prefix to associate with this rule'), ) parser.add_argument( + '--source-ip-prefix', + metavar='<remote-ip-prefix>', + required=False, + help=_('The source IP prefix to associate with this rule'), + ) + parser.add_argument( + '--destination-ip-prefix', + metavar='<remote-ip-prefix>', + required=False, + help=_('The destination IP prefix to associate with this rule'), + ) + parser.add_argument( 'meter', metavar='<meter>', help=_('Label to associate with this metering rule (name or ID)'), @@ -168,12 +184,16 @@ class ListMeterRule(command.Lister): 'excluded', 'direction', 'remote_ip_prefix', + 'source_ip_prefix', + 'destination_ip_prefix', ) column_headers = ( 'ID', 'Excluded', 'Direction', 'Remote IP Prefix', + 'Source IP Prefix', + 'Destination IP Prefix', ) data = client.metering_label_rules() return (column_headers, diff --git a/openstackclient/tests/unit/network/v2/fakes.py b/openstackclient/tests/unit/network/v2/fakes.py index 74001375..2db83d3b 100644 --- a/openstackclient/tests/unit/network/v2/fakes.py +++ b/openstackclient/tests/unit/network/v2/fakes.py @@ -1591,6 +1591,8 @@ class FakeNetworkMeterRule(object): 'excluded': False, 'metering_label_id': 'meter-label-id-' + uuid.uuid4().hex, 'remote_ip_prefix': '10.0.0.0/24', + 'source_ip_prefix': '8.8.8.8/32', + 'destination_ip_prefix': '10.0.0.0/24', 'tenant_id': 'project-id-' + uuid.uuid4().hex, } diff --git a/openstackclient/tests/unit/network/v2/test_network_meter_rule.py b/openstackclient/tests/unit/network/v2/test_network_meter_rule.py index 8f8922c0..e9224fa6 100644 --- a/openstackclient/tests/unit/network/v2/test_network_meter_rule.py +++ b/openstackclient/tests/unit/network/v2/test_network_meter_rule.py @@ -42,20 +42,24 @@ class TestCreateMeterRule(TestMeterRule): ) columns = ( + 'destination_ip_prefix', 'direction', 'excluded', 'id', 'metering_label_id', 'project_id', 'remote_ip_prefix', + 'source_ip_prefix', ) data = ( + new_rule.destination_ip_prefix, new_rule.direction, new_rule.excluded, new_rule.id, new_rule.metering_label_id, new_rule.project_id, new_rule.remote_ip_prefix, + new_rule.source_ip_prefix, ) def setUp(self): @@ -228,6 +232,8 @@ class TestListMeterRule(TestMeterRule): 'Excluded', 'Direction', 'Remote IP Prefix', + 'Source IP Prefix', + 'Destination IP Prefix' ) data = [] @@ -238,6 +244,8 @@ class TestListMeterRule(TestMeterRule): rule.excluded, rule.direction, rule.remote_ip_prefix, + rule.source_ip_prefix, + rule.destination_ip_prefix )) def setUp(self): @@ -270,21 +278,25 @@ class TestShowMeterRule(TestMeterRule): ) columns = ( + 'destination_ip_prefix', 'direction', 'excluded', 'id', 'metering_label_id', 'project_id', 'remote_ip_prefix', + 'source_ip_prefix', ) data = ( + new_rule.destination_ip_prefix, new_rule.direction, new_rule.excluded, new_rule.id, new_rule.metering_label_id, new_rule.project_id, new_rule.remote_ip_prefix, + new_rule.source_ip_prefix, ) def setUp(self): |
