neutron v2 command module cleanup #1

Purge "body[resource].update({key: value})" pattern
and use "body[key] = value" pattern.
The purged pattern is a bad convention in neutronclient and
I commented not to use it many times but I got tired of it.

Change-Id: I2fe0be30d648f59fa45c5951ccc5060c35527aff
This commit is contained in:
Akihiro Motoki
2015-09-24 06:45:19 +09:00
parent 3e115991c1
commit 647b0847b2
32 changed files with 236 additions and 339 deletions

View File

@@ -72,9 +72,7 @@ class UpdateAgent(neutronV20.UpdateCommand):
help=_('Description for the agent.')) help=_('Description for the agent.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = { body = {'admin_state_up': parsed_args.admin_state}
self.resource: { neutronV20.update_dict(parsed_args, body,
'admin_state_up': parsed_args.admin_state, }, }
neutronV20.update_dict(parsed_args, body[self.resource],
['description']) ['description'])
return body return {self.resource: body}

View File

@@ -16,7 +16,6 @@
from neutronclient.common import extension from neutronclient.common import extension
from neutronclient.i18n import _ from neutronclient.i18n import _
from neutronclient.neutron import v2_0 as neutronV20
def _add_updatable_args(parser): def _add_updatable_args(parser):
@@ -27,7 +26,7 @@ def _add_updatable_args(parser):
def _updatable_args2body(parsed_args, body, client): def _updatable_args2body(parsed_args, body, client):
if parsed_args.name: if parsed_args.name:
body['fox_socket'].update({'name': parsed_args.name}) body['name'] = parsed_args.name
class FoxInSocket(extension.NeutronClientExtension): class FoxInSocket(extension.NeutronClientExtension):
@@ -59,11 +58,10 @@ class FoxInSocketsCreate(extension.ClientExtensionCreate, FoxInSocket):
_add_updatable_args(parser) _add_updatable_args(parser)
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'fox_socket': {}} body = {}
client = self.get_client() client = self.get_client()
_updatable_args2body(parsed_args, body, client) _updatable_args2body(parsed_args, body, client)
neutronV20.update_dict(parsed_args, body['fox_socket'], []) return {'fox_socket': body}
return body
class FoxInSocketsUpdate(extension.ClientExtensionUpdate, FoxInSocket): class FoxInSocketsUpdate(extension.ClientExtensionUpdate, FoxInSocket):
@@ -79,10 +77,8 @@ class FoxInSocketsUpdate(extension.ClientExtensionUpdate, FoxInSocket):
help=_('Name of this fox socket.')) help=_('Name of this fox socket.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'fox_socket': { body = {'name': parsed_args.name}
'name': parsed_args.name}, } return {'fox_socket': body}
neutronV20.update_dict(parsed_args, body['fox_socket'], [])
return body
class FoxInSocketsDelete(extension.ClientExtensionDelete, FoxInSocket): class FoxInSocketsDelete(extension.ClientExtensionDelete, FoxInSocket):

View File

@@ -51,19 +51,14 @@ class CreateCredential(neutronV20.CreateCommand):
help=_('Password for the credential.')) help=_('Password for the credential.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'credential': { body = {'credential_name': parsed_args.credential_name}
'credential_name': parsed_args.credential_name}}
if parsed_args.credential_type: if parsed_args.credential_type:
body['credential'].update({'type': body['type'] = parsed_args.credential_type
parsed_args.credential_type})
if parsed_args.username: if parsed_args.username:
body['credential'].update({'user_name': body['user_name'] = parsed_args.username
parsed_args.username})
if parsed_args.password: if parsed_args.password:
body['credential'].update({'password': body['password'] = parsed_args.password
parsed_args.password}) return {'credential': body}
return body
class DeleteCredential(neutronV20.DeleteCommand): class DeleteCredential(neutronV20.DeleteCommand):

View File

@@ -68,18 +68,16 @@ class CreateFloatingIP(neutronV20.CreateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
_network_id = neutronV20.find_resourceid_by_name_or_id( _network_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'network', parsed_args.floating_network_id) self.get_client(), 'network', parsed_args.floating_network_id)
body = {self.resource: {'floating_network_id': _network_id}} body = {'floating_network_id': _network_id}
if parsed_args.port_id: if parsed_args.port_id:
body[self.resource].update({'port_id': parsed_args.port_id}) body['port_id'] = parsed_args.port_id
if parsed_args.tenant_id: if parsed_args.tenant_id:
body[self.resource].update({'tenant_id': parsed_args.tenant_id}) body['tenant_id'] = parsed_args.tenant_id
if parsed_args.fixed_ip_address: if parsed_args.fixed_ip_address:
body[self.resource].update({'fixed_ip_address': body['fixed_ip_address'] = parsed_args.fixed_ip_address
parsed_args.fixed_ip_address})
if parsed_args.floating_ip_address: if parsed_args.floating_ip_address:
body[self.resource].update({'floating_ip_address': body['floating_ip_address'] = parsed_args.floating_ip_address
parsed_args.floating_ip_address}) return {self.resource: body}
return body
class DeleteFloatingIP(neutronV20.DeleteCommand): class DeleteFloatingIP(neutronV20.DeleteCommand):

View File

@@ -67,17 +67,15 @@ class CreateFirewall(neutronv20.CreateCommand):
_policy_id = neutronv20.find_resourceid_by_name_or_id( _policy_id = neutronv20.find_resourceid_by_name_or_id(
client, 'firewall_policy', client, 'firewall_policy',
parsed_args.firewall_policy_id) parsed_args.firewall_policy_id)
body = { body = {'firewall_policy_id': _policy_id,
self.resource: { 'admin_state_up': parsed_args.admin_state, }
'firewall_policy_id': _policy_id,
'admin_state_up': parsed_args.admin_state, }, }
if parsed_args.routers: if parsed_args.routers:
body[self.resource]['router_ids'] = [ body['router_ids'] = [
neutronv20.find_resourceid_by_name_or_id(client, 'router', r) neutronv20.find_resourceid_by_name_or_id(client, 'router', r)
for r in parsed_args.routers] for r in parsed_args.routers]
neutronv20.update_dict(parsed_args, body[self.resource], neutronv20.update_dict(parsed_args, body,
['name', 'description', 'tenant_id']) ['name', 'description', 'tenant_id'])
return body return {self.resource: body}
class UpdateFirewall(neutronv20.UpdateCommand): class UpdateFirewall(neutronv20.UpdateCommand):

View File

@@ -45,13 +45,13 @@ def common_args2body(client, parsed_args):
_firewall_rules.append( _firewall_rules.append(
neutronv20.find_resourceid_by_name_or_id( neutronv20.find_resourceid_by_name_or_id(
client, 'firewall_rule', f)) client, 'firewall_rule', f))
body = {'firewall_policy': {'firewall_rules': _firewall_rules}} body = {'firewall_rules': _firewall_rules}
else: else:
body = {'firewall_policy': {}} body = {}
neutronv20.update_dict(parsed_args, body['firewall_policy'], neutronv20.update_dict(parsed_args, body,
['name', 'description', 'shared', ['name', 'description', 'shared',
'audited', 'tenant_id']) 'audited', 'tenant_id'])
return body return {'firewall_policy': body}
class ListFirewallPolicy(neutronv20.ListCommand): class ListFirewallPolicy(neutronv20.ListCommand):

View File

@@ -108,10 +108,8 @@ class CreateFirewallRule(neutronv20.CreateCommand):
help=_('Action for the firewall rule.')) help=_('Action for the firewall rule.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = { body = {}
self.resource: {}, neutronv20.update_dict(parsed_args, body,
}
neutronv20.update_dict(parsed_args, body[self.resource],
['name', 'description', 'shared', 'protocol', ['name', 'description', 'shared', 'protocol',
'source_ip_address', 'destination_ip_address', 'source_ip_address', 'destination_ip_address',
'source_port', 'destination_port', 'source_port', 'destination_port',
@@ -119,8 +117,8 @@ class CreateFirewallRule(neutronv20.CreateCommand):
protocol = parsed_args.protocol protocol = parsed_args.protocol
if protocol == 'any': if protocol == 'any':
protocol = None protocol = None
body[self.resource]['protocol'] = protocol body['protocol'] = protocol
return body return {self.resource: body}
class UpdateFirewallRule(neutronv20.UpdateCommand): class UpdateFirewallRule(neutronv20.UpdateCommand):
@@ -135,15 +133,13 @@ class UpdateFirewallRule(neutronv20.UpdateCommand):
help=_('Protocol for the firewall rule.')) help=_('Protocol for the firewall rule.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = { body = {}
self.resource: {},
}
protocol = parsed_args.protocol protocol = parsed_args.protocol
if protocol: if protocol:
if protocol == 'any': if protocol == 'any':
protocol = None protocol = None
body[self.resource]['protocol'] = protocol body['protocol'] = protocol
return body return {self.resource: body}
class DeleteFirewallRule(neutronv20.DeleteCommand): class DeleteFirewallRule(neutronv20.DeleteCommand):

View File

@@ -84,19 +84,15 @@ class CreateHealthMonitor(neutronV20.CreateCommand):
help=_('One of the predefined health monitor types.')) help=_('One of the predefined health monitor types.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = { body = {'admin_state_up': parsed_args.admin_state,
self.resource: {
'admin_state_up': parsed_args.admin_state,
'delay': parsed_args.delay, 'delay': parsed_args.delay,
'max_retries': parsed_args.max_retries, 'max_retries': parsed_args.max_retries,
'timeout': parsed_args.timeout, 'timeout': parsed_args.timeout,
'type': parsed_args.type, 'type': parsed_args.type}
}, neutronV20.update_dict(parsed_args, body,
}
neutronV20.update_dict(parsed_args, body[self.resource],
['expected_codes', 'http_method', 'url_path', ['expected_codes', 'http_method', 'url_path',
'tenant_id']) 'tenant_id'])
return body return {self.resource: body}
class UpdateHealthMonitor(neutronV20.UpdateCommand): class UpdateHealthMonitor(neutronV20.UpdateCommand):

View File

@@ -65,18 +65,14 @@ class CreateMember(neutronV20.CreateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
_pool_id = neutronV20.find_resourceid_by_name_or_id( _pool_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'pool', parsed_args.pool_id) self.get_client(), 'pool', parsed_args.pool_id)
body = { body = {'pool_id': _pool_id,
self.resource: { 'admin_state_up': parsed_args.admin_state}
'pool_id': _pool_id,
'admin_state_up': parsed_args.admin_state,
},
}
neutronV20.update_dict( neutronV20.update_dict(
parsed_args, parsed_args,
body[self.resource], body,
['address', 'protocol_port', 'weight', 'tenant_id'] ['address', 'protocol_port', 'weight', 'tenant_id']
) )
return body return {self.resource: body}
class UpdateMember(neutronV20.UpdateCommand): class UpdateMember(neutronV20.UpdateCommand):

View File

@@ -82,16 +82,12 @@ class CreatePool(neutronV20.CreateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
_subnet_id = neutronV20.find_resourceid_by_name_or_id( _subnet_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'subnet', parsed_args.subnet_id) self.get_client(), 'subnet', parsed_args.subnet_id)
body = { body = {'admin_state_up': parsed_args.admin_state,
self.resource: { 'subnet_id': _subnet_id}
'admin_state_up': parsed_args.admin_state, neutronV20.update_dict(parsed_args, body,
'subnet_id': _subnet_id,
},
}
neutronV20.update_dict(parsed_args, body[self.resource],
['description', 'lb_method', 'name', ['description', 'lb_method', 'name',
'protocol', 'tenant_id', 'provider']) 'protocol', 'tenant_id', 'provider'])
return body return {self.resource: body}
class UpdatePool(neutronV20.UpdateCommand): class UpdatePool(neutronV20.UpdateCommand):

View File

@@ -92,20 +92,16 @@ class CreateHealthMonitor(neutronV20.CreateCommand):
pool_id = neutronV20.find_resourceid_by_name_or_id( pool_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'pool', parsed_args.pool, self.get_client(), 'pool', parsed_args.pool,
cmd_resource='lbaas_pool') cmd_resource='lbaas_pool')
body = { body = {'admin_state_up': parsed_args.admin_state,
self.resource: {
'admin_state_up': parsed_args.admin_state,
'delay': parsed_args.delay, 'delay': parsed_args.delay,
'max_retries': parsed_args.max_retries, 'max_retries': parsed_args.max_retries,
'timeout': parsed_args.timeout, 'timeout': parsed_args.timeout,
'type': parsed_args.type, 'type': parsed_args.type,
'pool_id': pool_id 'pool_id': pool_id}
}, neutronV20.update_dict(parsed_args, body,
}
neutronV20.update_dict(parsed_args, body[self.resource],
['expected_codes', 'http_method', 'url_path', ['expected_codes', 'http_method', 'url_path',
'tenant_id']) 'tenant_id'])
return body return {self.resource: body}
class UpdateHealthMonitor(neutronV20.UpdateCommand): class UpdateHealthMonitor(neutronV20.UpdateCommand):

View File

@@ -94,22 +94,18 @@ class CreateListener(neutronV20.CreateCommand):
parsed_args.loadbalancer = _get_loadbalancer_id( parsed_args.loadbalancer = _get_loadbalancer_id(
self.get_client(), self.get_client(),
parsed_args.loadbalancer) parsed_args.loadbalancer)
body = { body = {'loadbalancer_id': parsed_args.loadbalancer,
self.resource: {
'loadbalancer_id': parsed_args.loadbalancer,
'protocol': parsed_args.protocol, 'protocol': parsed_args.protocol,
'protocol_port': parsed_args.protocol_port, 'protocol_port': parsed_args.protocol_port,
'admin_state_up': parsed_args.admin_state, 'admin_state_up': parsed_args.admin_state}
},
}
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body,
['connection-limit', 'description', ['connection-limit', 'description',
'loadbalancer_id', 'name', 'loadbalancer_id', 'name',
'default_tls_container_ref', 'default_tls_container_ref',
'sni_container_refs', 'sni_container_refs',
'tenant_id']) 'tenant_id'])
return body return {self.resource: body}
class UpdateListener(neutronV20.UpdateCommand): class UpdateListener(neutronV20.UpdateCommand):

View File

@@ -65,16 +65,12 @@ class CreateLoadBalancer(neutronV20.CreateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
_subnet_id = neutronV20.find_resourceid_by_name_or_id( _subnet_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'subnet', parsed_args.vip_subnet) self.get_client(), 'subnet', parsed_args.vip_subnet)
body = { body = {'vip_subnet_id': _subnet_id,
self.resource: { 'admin_state_up': parsed_args.admin_state}
'vip_subnet_id': _subnet_id, neutronV20.update_dict(parsed_args, body,
'admin_state_up': parsed_args.admin_state,
},
}
neutronV20.update_dict(parsed_args, body[self.resource],
['description', 'provider', 'vip_address', ['description', 'provider', 'vip_address',
'tenant_id', 'name']) 'tenant_id', 'name'])
return body return {self.resource: body}
class UpdateLoadBalancer(neutronV20.UpdateCommand): class UpdateLoadBalancer(neutronV20.UpdateCommand):

View File

@@ -97,17 +97,13 @@ class CreateMember(neutronV20.CreateCommand):
self.parent_id = _get_pool_id(self.get_client(), parsed_args.pool) self.parent_id = _get_pool_id(self.get_client(), parsed_args.pool)
_subnet_id = neutronV20.find_resourceid_by_name_or_id( _subnet_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'subnet', parsed_args.subnet) self.get_client(), 'subnet', parsed_args.subnet)
body = { body = {'subnet_id': _subnet_id,
self.resource: {
'subnet_id': _subnet_id,
'admin_state_up': parsed_args.admin_state, 'admin_state_up': parsed_args.admin_state,
'protocol_port': parsed_args.protocol_port, 'protocol_port': parsed_args.protocol_port,
'address': parsed_args.address, 'address': parsed_args.address}
}, neutronV20.update_dict(parsed_args, body,
}
neutronV20.update_dict(parsed_args, body[self.resource],
['weight', 'subnet_id', 'tenant_id']) ['weight', 'subnet_id', 'tenant_id'])
return body return {self.resource: body}
class UpdateMember(neutronV20.UpdateCommand): class UpdateMember(neutronV20.UpdateCommand):
@@ -130,12 +126,10 @@ class UpdateMember(neutronV20.UpdateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
self.parent_id = _get_pool_id(self.get_client(), parsed_args.pool) self.parent_id = _get_pool_id(self.get_client(), parsed_args.pool)
body = { body = {}
self.resource: {} neutronV20.update_dict(parsed_args, body,
}
neutronV20.update_dict(parsed_args, body[self.resource],
['admin_state_up', 'weight']) ['admin_state_up', 'weight'])
return body return {self.resource: body}
class DeleteMember(LbaasMemberMixin, neutronV20.DeleteCommand): class DeleteMember(LbaasMemberMixin, neutronV20.DeleteCommand):

View File

@@ -90,18 +90,14 @@ class CreatePool(neutronV20.CreateCommand):
parsed_args.session_persistence) parsed_args.session_persistence)
_listener_id = neutronV20.find_resourceid_by_name_or_id( _listener_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'listener', parsed_args.listener) self.get_client(), 'listener', parsed_args.listener)
body = { body = {'admin_state_up': parsed_args.admin_state,
self.resource: {
'admin_state_up': parsed_args.admin_state,
'protocol': parsed_args.protocol, 'protocol': parsed_args.protocol,
'lb_algorithm': parsed_args.lb_algorithm, 'lb_algorithm': parsed_args.lb_algorithm,
'listener_id': _listener_id, 'listener_id': _listener_id}
}, neutronV20.update_dict(parsed_args, body,
}
neutronV20.update_dict(parsed_args, body[self.resource],
['description', 'name', ['description', 'name',
'session_persistence', 'tenant_id']) 'session_persistence', 'tenant_id'])
return body return {self.resource: body}
class UpdatePool(neutronV20.UpdateCommand): class UpdatePool(neutronV20.UpdateCommand):

View File

@@ -81,18 +81,14 @@ class CreateVip(neutronV20.CreateCommand):
_subnet_id = neutronV20.find_resourceid_by_name_or_id( _subnet_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'subnet', parsed_args.subnet_id) self.get_client(), 'subnet', parsed_args.subnet_id)
body = { body = {'pool_id': _pool_id,
self.resource: {
'pool_id': _pool_id,
'admin_state_up': parsed_args.admin_state, 'admin_state_up': parsed_args.admin_state,
'subnet_id': _subnet_id, 'subnet_id': _subnet_id}
}, neutronV20.update_dict(parsed_args, body,
}
neutronV20.update_dict(parsed_args, body[self.resource],
['address', 'connection_limit', 'description', ['address', 'connection_limit', 'description',
'name', 'protocol_port', 'protocol', 'name', 'protocol_port', 'protocol',
'tenant_id']) 'tenant_id'])
return body return {self.resource: body}
class UpdateVip(neutronV20.UpdateCommand): class UpdateVip(neutronV20.UpdateCommand):

View File

@@ -50,18 +50,14 @@ class CreateMeteringLabel(neutronv20.CreateCommand):
help=_('Set the label as shared.')) help=_('Set the label as shared.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'metering_label': { body = {'name': parsed_args.name}
'name': parsed_args.name}, }
if parsed_args.tenant_id: if parsed_args.tenant_id:
body['metering_label'].update({'tenant_id': parsed_args.tenant_id}) body['tenant_id'] = parsed_args.tenant_id
if parsed_args.description: if parsed_args.description:
body['metering_label'].update( body['description'] = parsed_args.description
{'description': parsed_args.description})
if parsed_args.shared: if parsed_args.shared:
body['metering_label'].update( body['shared'] = True
{'shared': True}) return {'metering_label': body}
return body
class DeleteMeteringLabel(neutronv20.DeleteCommand): class DeleteMeteringLabel(neutronv20.DeleteCommand):
@@ -113,18 +109,14 @@ class CreateMeteringLabelRule(neutronv20.CreateCommand):
label_id = neutronv20.find_resourceid_by_name_or_id( label_id = neutronv20.find_resourceid_by_name_or_id(
neutron_client, 'metering_label', parsed_args.label_id) neutron_client, 'metering_label', parsed_args.label_id)
body = {'metering_label_rule': { body = {'metering_label_id': label_id,
'metering_label_id': label_id, 'remote_ip_prefix': parsed_args.remote_ip_prefix}
'remote_ip_prefix': parsed_args.remote_ip_prefix
}}
if parsed_args.direction: if parsed_args.direction:
body['metering_label_rule'].update( body['direction'] = parsed_args.direction
{'direction': parsed_args.direction})
if parsed_args.excluded: if parsed_args.excluded:
body['metering_label_rule'].update( body['excluded'] = True
{'excluded': True}) return {'metering_label_rule': body}
return body
class DeleteMeteringLabelRule(neutronv20.DeleteCommand): class DeleteMeteringLabelRule(neutronv20.DeleteCommand):

View File

@@ -42,8 +42,8 @@ class CreateNetPartition(CreateCommand):
help='Name of netpartition to create.') help='Name of netpartition to create.')
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'net_partition': {'name': parsed_args.name}, } body = {'name': parsed_args.name}
return body return {'net_partition': body}
class DeleteNetPartition(DeleteCommand): class DeleteNetPartition(DeleteCommand):

View File

@@ -148,19 +148,18 @@ class CreateNetwork(neutronV20.CreateCommand, qos_policy.CreateQosPolicyMixin):
self.add_arguments_qos_policy(parser) self.add_arguments_qos_policy(parser)
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'network': { body = {'name': parsed_args.name,
'name': parsed_args.name, 'admin_state_up': parsed_args.admin_state}
'admin_state_up': parsed_args.admin_state}, } neutronV20.update_dict(parsed_args, body,
neutronV20.update_dict(parsed_args, body['network'],
['shared', 'tenant_id', ['shared', 'tenant_id',
'vlan_transparent', 'vlan_transparent',
'provider:network_type', 'provider:network_type',
'provider:physical_network', 'provider:physical_network',
'provider:segmentation_id']) 'provider:segmentation_id'])
self.args2body_qos_policy(parsed_args, body['network']) self.args2body_qos_policy(parsed_args, body)
return body return {'network': body}
class DeleteNetwork(neutronV20.DeleteCommand): class DeleteNetwork(neutronV20.DeleteCommand):
@@ -178,6 +177,6 @@ class UpdateNetwork(neutronV20.UpdateCommand, qos_policy.UpdateQosPolicyMixin):
self.add_arguments_qos_policy(parser) self.add_arguments_qos_policy(parser)
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'network': {}} body = {}
self.args2body_qos_policy(parsed_args, body['network']) self.args2body_qos_policy(parsed_args, body)
return body return {'network': body}

View File

@@ -67,26 +67,20 @@ class CreateNetworkProfile(neutronV20.CreateCommand):
"You can repeat this option.")) "You can repeat this option."))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'network_profile': {'name': parsed_args.name}} body = {'name': parsed_args.name}
if parsed_args.segment_type: if parsed_args.segment_type:
body['network_profile'].update({'segment_type': body['segment_type'] = parsed_args.segment_type
parsed_args.segment_type})
if parsed_args.sub_type: if parsed_args.sub_type:
body['network_profile'].update({'sub_type': body['sub_type'] = parsed_args.sub_type
parsed_args.sub_type})
if parsed_args.segment_range: if parsed_args.segment_range:
body['network_profile'].update({'segment_range': body['segment_range'] = parsed_args.segment_range
parsed_args.segment_range})
if parsed_args.physical_network: if parsed_args.physical_network:
body['network_profile'].update({'physical_network': body['physical_network'] = parsed_args.physical_network
parsed_args.physical_network})
if parsed_args.multicast_ip_range: if parsed_args.multicast_ip_range:
body['network_profile'].update({'multicast_ip_range': body['multicast_ip_range'] = parsed_args.multicast_ip_range
parsed_args.multicast_ip_range})
if parsed_args.add_tenants: if parsed_args.add_tenants:
body['network_profile'].update({'add_tenants': body['add_tenants'] = parsed_args.add_tenants
parsed_args.add_tenants}) return {'network_profile': body}
return body
class DeleteNetworkProfile(neutronV20.DeleteCommand): class DeleteNetworkProfile(neutronV20.DeleteCommand):
@@ -112,13 +106,12 @@ class UpdateNetworkProfile(neutronV20.UpdateCommand):
"You can repeat this option.")) "You can repeat this option."))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'network_profile': {}} body = {}
if parsed_args.remove_tenants: if parsed_args.remove_tenants:
body['network_profile']['remove_tenants'] = (parsed_args. body['remove_tenants'] = parsed_args.remove_tenants
remove_tenants)
if parsed_args.add_tenants: if parsed_args.add_tenants:
body['network_profile']['add_tenants'] = parsed_args.add_tenants body['add_tenants'] = parsed_args.add_tenants
return body return {'network_profile': body}
# Aaron: This function is deprecated # Aaron: This function is deprecated

View File

@@ -175,17 +175,16 @@ class CreateNetworkGateway(neutronV20.CreateCommand):
'option for multiple devices for HA gateways.')) 'option for multiple devices for HA gateways.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: { body = {'name': parsed_args.name}
'name': parsed_args.name}}
devices = [] devices = []
if parsed_args.device: if parsed_args.device:
for device in parsed_args.device: for device in parsed_args.device:
devices.append(utils.str2dict(device)) devices.append(utils.str2dict(device))
if devices: if devices:
body[self.resource].update({'devices': devices}) body['devices'] = devices
if parsed_args.tenant_id: if parsed_args.tenant_id:
body[self.resource].update({'tenant_id': parsed_args.tenant_id}) body['tenant_id'] = parsed_args.tenant_id
return body return {self.resource: body}
class DeleteNetworkGateway(neutronV20.DeleteCommand): class DeleteNetworkGateway(neutronV20.DeleteCommand):

View File

@@ -69,11 +69,11 @@ def _add_updatable_args(parser):
def _updatable_args2body(parsed_args, body, client): def _updatable_args2body(parsed_args, body, client):
if parsed_args.device_id: if parsed_args.device_id:
body['port'].update({'device_id': parsed_args.device_id}) body['device_id'] = parsed_args.device_id
if parsed_args.device_owner: if parsed_args.device_owner:
body['port'].update({'device_owner': parsed_args.device_owner}) body['device_owner'] = parsed_args.device_owner
if parsed_args.name: if parsed_args.name:
body['port'].update({'name': parsed_args.name}) body['name'] = parsed_args.name
ips = [] ips = []
if parsed_args.fixed_ip: if parsed_args.fixed_ip:
for ip_spec in parsed_args.fixed_ip: for ip_spec in parsed_args.fixed_ip:
@@ -85,7 +85,7 @@ def _updatable_args2body(parsed_args, body, client):
ip_dict['subnet_id'] = _subnet_id ip_dict['subnet_id'] = _subnet_id
ips.append(ip_dict) ips.append(ip_dict)
if ips: if ips:
body['port'].update({'fixed_ips': ips}) body['fixed_ips'] = ips
class ListPort(neutronV20.ListCommand): class ListPort(neutronV20.ListCommand):
@@ -190,7 +190,7 @@ class UpdateExtraDhcpOptMixin(object):
raise exceptions.CommandError(edo_err_msg) raise exceptions.CommandError(edo_err_msg)
if ops: if ops:
port.update({'extra_dhcp_opts': ops}) port['extra_dhcp_opts'] = ops
class CreatePort(neutronV20.CreateCommand, UpdatePortSecGroupMixin, class CreatePort(neutronV20.CreateCommand, UpdatePortSecGroupMixin,
@@ -241,24 +241,24 @@ class CreatePort(neutronV20.CreateCommand, UpdatePortSecGroupMixin,
client = self.get_client() client = self.get_client()
_network_id = neutronV20.find_resourceid_by_name_or_id( _network_id = neutronV20.find_resourceid_by_name_or_id(
client, 'network', parsed_args.network_id) client, 'network', parsed_args.network_id)
body = {'port': {'admin_state_up': parsed_args.admin_state, body = {'admin_state_up': parsed_args.admin_state,
'network_id': _network_id, }, } 'network_id': _network_id, }
_updatable_args2body(parsed_args, body, client) _updatable_args2body(parsed_args, body, client)
if parsed_args.mac_address: if parsed_args.mac_address:
body['port'].update({'mac_address': parsed_args.mac_address}) body['mac_address'] = parsed_args.mac_address
if parsed_args.tenant_id: if parsed_args.tenant_id:
body['port'].update({'tenant_id': parsed_args.tenant_id}) body['tenant_id'] = parsed_args.tenant_id
if parsed_args.vnic_type: if parsed_args.vnic_type:
body['port'].update({'binding:vnic_type': parsed_args.vnic_type}) body['binding:vnic_type'] = parsed_args.vnic_type
if parsed_args.binding_profile: if parsed_args.binding_profile:
body['port'].update({'binding:profile': body['binding:profile'] = jsonutils.loads(
jsonutils.loads(parsed_args.binding_profile)}) parsed_args.binding_profile)
self.args2body_secgroup(parsed_args, body['port']) self.args2body_secgroup(parsed_args, body)
self.args2body_extradhcpopt(parsed_args, body['port']) self.args2body_extradhcpopt(parsed_args, body)
self.args2body_qos_policy(parsed_args, body['port']) self.args2body_qos_policy(parsed_args, body)
return body return {'port': body}
class DeletePort(neutronV20.DeleteCommand): class DeletePort(neutronV20.DeleteCommand):
@@ -288,15 +288,14 @@ class UpdatePort(neutronV20.UpdateCommand, UpdatePortSecGroupMixin,
self.add_arguments_qos_policy(parser) self.add_arguments_qos_policy(parser)
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'port': {}} body = {}
client = self.get_client() client = self.get_client()
_updatable_args2body(parsed_args, body, client) _updatable_args2body(parsed_args, body, client)
if parsed_args.admin_state_up: if parsed_args.admin_state_up:
body['port'].update({'admin_state_up': body['admin_state_up'] = parsed_args.admin_state_up
parsed_args.admin_state_up})
self.args2body_secgroup(parsed_args, body['port']) self.args2body_secgroup(parsed_args, body)
self.args2body_extradhcpopt(parsed_args, body['port']) self.args2body_extradhcpopt(parsed_args, body)
self.args2body_qos_policy(parsed_args, body['port']) self.args2body_qos_policy(parsed_args, body)
return body return {'port': body}

View File

@@ -103,14 +103,14 @@ class CreateQoSPolicy(neutronv20.CreateCommand):
'Set shared to True (default is False).')) 'Set shared to True (default is False).'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {'name': parsed_args.name}, } body = {'name': parsed_args.name}
if parsed_args.description: if parsed_args.description:
body[self.resource]['description'] = parsed_args.description body['description'] = parsed_args.description
if parsed_args.shared: if parsed_args.shared:
body[self.resource]['shared'] = parsed_args.shared body['shared'] = parsed_args.shared
if parsed_args.tenant_id: if parsed_args.tenant_id:
body[self.resource]['tenant_id'] = parsed_args.tenant_id body['tenant_id'] = parsed_args.tenant_id
return body return {self.resource: body}
class UpdateQoSPolicy(neutronv20.UpdateCommand): class UpdateQoSPolicy(neutronv20.UpdateCommand):
@@ -133,14 +133,14 @@ class UpdateQoSPolicy(neutronv20.UpdateCommand):
'Set shared to True (default is False).')) 'Set shared to True (default is False).'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {}
if parsed_args.name: if parsed_args.name:
body[self.resource]['name'] = parsed_args.name body['name'] = parsed_args.name
if parsed_args.description: if parsed_args.description:
body[self.resource]['description'] = parsed_args.description body['description'] = parsed_args.description
if parsed_args.shared: if parsed_args.shared:
body[self.resource]['shared'] = parsed_args.shared body['shared'] = parsed_args.shared
return body return {self.resource: body}
class DeleteQoSPolicy(neutronv20.DeleteCommand): class DeleteQoSPolicy(neutronv20.DeleteCommand):

View File

@@ -68,13 +68,13 @@ class CreateRBACPolicy(neutronV20.CreateCommand):
neutron_client.format = parsed_args.request_format neutron_client.format = parsed_args.request_format
_object_id = get_rbac_object_id(neutron_client, parsed_args.type, _object_id = get_rbac_object_id(neutron_client, parsed_args.type,
parsed_args.name) parsed_args.name)
body = {self.resource: { body = {
'object_id': _object_id, 'object_id': _object_id,
'object_type': parsed_args.type, 'object_type': parsed_args.type,
'target_tenant': parsed_args.target_tenant, 'target_tenant': parsed_args.target_tenant,
'action': parsed_args.action, 'action': parsed_args.action,
}, } }
return body return {self.resource: body}
class UpdateRBACPolicy(neutronV20.UpdateCommand): class UpdateRBACPolicy(neutronV20.UpdateCommand):
@@ -89,11 +89,8 @@ class UpdateRBACPolicy(neutronV20.UpdateCommand):
'policy will be enforced.')) 'policy will be enforced.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'target_tenant': parsed_args.target_tenant}
body = {self.resource: { return {self.resource: body}
'target_tenant': parsed_args.target_tenant,
}, }
return body
class DeleteRBACPolicy(neutronV20.DeleteCommand): class DeleteRBACPolicy(neutronV20.DeleteCommand):

View File

@@ -75,10 +75,10 @@ class CreateRouter(neutronV20.CreateCommand):
help=_('Create a highly available router.')) help=_('Create a highly available router.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {'admin_state_up': parsed_args.admin_state}} body = {'admin_state_up': parsed_args.admin_state}
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body,
['name', 'tenant_id', 'distributed', 'ha']) ['name', 'tenant_id', 'distributed', 'ha'])
return body return {self.resource: body}
class DeleteRouter(neutronV20.DeleteCommand): class DeleteRouter(neutronV20.DeleteCommand):
@@ -109,13 +109,12 @@ class UpdateRouter(neutronV20.UpdateCommand):
' distributed mode.')) ' distributed mode.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}} body = {}
if hasattr(parsed_args, 'admin_state'): if hasattr(parsed_args, 'admin_state'):
body[self.resource].update( body['admin_state_up'] = parsed_args.admin_state
{'admin_state_up': parsed_args.admin_state}) neutronV20.update_dict(parsed_args, body,
neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'distributed']) ['name', 'distributed'])
return body return {self.resource: body}
class RouterInterfaceCommand(neutronV20.NeutronCommand): class RouterInterfaceCommand(neutronV20.NeutronCommand):

View File

@@ -123,14 +123,12 @@ class CreateSecurityGroup(neutronV20.CreateCommand):
help=_('Description of security group.')) help=_('Description of security group.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'security_group': { body = {'name': parsed_args.name}
'name': parsed_args.name}}
if parsed_args.description: if parsed_args.description:
body['security_group'].update( body['description'] = parsed_args.description
{'description': parsed_args.description})
if parsed_args.tenant_id: if parsed_args.tenant_id:
body['security_group'].update({'tenant_id': parsed_args.tenant_id}) body['tenant_id'] = parsed_args.tenant_id
return body return {'security_group': body}
class DeleteSecurityGroup(neutronV20.DeleteCommand): class DeleteSecurityGroup(neutronV20.DeleteCommand):
@@ -154,14 +152,12 @@ class UpdateSecurityGroup(neutronV20.UpdateCommand):
help=_('Description of security group.')) help=_('Description of security group.'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'security_group': {}} body = {}
if parsed_args.name: if parsed_args.name:
body['security_group'].update( body['name'] = parsed_args.name
{'name': parsed_args.name})
if parsed_args.description: if parsed_args.description:
body['security_group'].update( body['description'] = parsed_args.description
{'description': parsed_args.description}) return {'security_group': body}
return body
class ListSecurityGroupRule(neutronV20.ListCommand): class ListSecurityGroupRule(neutronV20.ListCommand):
@@ -344,32 +340,25 @@ class CreateSecurityGroupRule(neutronV20.CreateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
_security_group_id = neutronV20.find_resourceid_by_name_or_id( _security_group_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'security_group', parsed_args.security_group_id) self.get_client(), 'security_group', parsed_args.security_group_id)
body = {'security_group_rule': { body = {'security_group_id': _security_group_id,
'security_group_id': _security_group_id, 'direction': parsed_args.direction,
'direction': parsed_args.direction, 'ethertype': parsed_args.ethertype}
'ethertype': parsed_args.ethertype}}
if parsed_args.protocol: if parsed_args.protocol:
body['security_group_rule'].update( body['protocol'] = parsed_args.protocol
{'protocol': parsed_args.protocol})
if parsed_args.port_range_min: if parsed_args.port_range_min:
body['security_group_rule'].update( body['port_range_min'] = parsed_args.port_range_min
{'port_range_min': parsed_args.port_range_min})
if parsed_args.port_range_max: if parsed_args.port_range_max:
body['security_group_rule'].update( body['port_range_max'] = parsed_args.port_range_max
{'port_range_max': parsed_args.port_range_max})
if parsed_args.remote_ip_prefix: if parsed_args.remote_ip_prefix:
body['security_group_rule'].update( body['remote_ip_prefix'] = parsed_args.remote_ip_prefix
{'remote_ip_prefix': parsed_args.remote_ip_prefix})
if parsed_args.remote_group_id: if parsed_args.remote_group_id:
_remote_group_id = neutronV20.find_resourceid_by_name_or_id( _remote_group_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'security_group', self.get_client(), 'security_group',
parsed_args.remote_group_id) parsed_args.remote_group_id)
body['security_group_rule'].update( body['remote_group_id'] = _remote_group_id
{'remote_group_id': _remote_group_id})
if parsed_args.tenant_id: if parsed_args.tenant_id:
body['security_group_rule'].update( body['tenant_id'] = parsed_args.tenant_id
{'tenant_id': parsed_args.tenant_id}) return {'security_group_rule': body}
return body
class DeleteSecurityGroupRule(neutronV20.DeleteCommand): class DeleteSecurityGroupRule(neutronV20.DeleteCommand):

View File

@@ -108,32 +108,32 @@ def updatable_args2body(parsed_args, body, for_create=True, ip_version=None):
"You cannot enable and disable DHCP at the same time.")) "You cannot enable and disable DHCP at the same time."))
if parsed_args.no_gateway: if parsed_args.no_gateway:
body['subnet'].update({'gateway_ip': None}) body['gateway_ip'] = None
elif parsed_args.gateway: elif parsed_args.gateway:
body['subnet'].update({'gateway_ip': parsed_args.gateway}) body['gateway_ip'] = parsed_args.gateway
if parsed_args.name: if parsed_args.name:
body['subnet'].update({'name': parsed_args.name}) body['name'] = parsed_args.name
if parsed_args.disable_dhcp: if parsed_args.disable_dhcp:
body['subnet'].update({'enable_dhcp': False}) body['enable_dhcp'] = False
if parsed_args.enable_dhcp: if parsed_args.enable_dhcp:
body['subnet'].update({'enable_dhcp': True}) body['enable_dhcp'] = True
if parsed_args.allocation_pools: if parsed_args.allocation_pools:
body['subnet']['allocation_pools'] = parsed_args.allocation_pools body['allocation_pools'] = parsed_args.allocation_pools
if parsed_args.host_routes: if parsed_args.host_routes:
body['subnet']['host_routes'] = parsed_args.host_routes body['host_routes'] = parsed_args.host_routes
if parsed_args.dns_nameservers: if parsed_args.dns_nameservers:
body['subnet']['dns_nameservers'] = parsed_args.dns_nameservers body['dns_nameservers'] = parsed_args.dns_nameservers
if for_create and parsed_args.ipv6_ra_mode: if for_create and parsed_args.ipv6_ra_mode:
if ip_version == 4: if ip_version == 4:
raise exceptions.CommandError(_("--ipv6-ra-mode is invalid " raise exceptions.CommandError(_("--ipv6-ra-mode is invalid "
"when --ip-version is 4")) "when --ip-version is 4"))
body['subnet']['ipv6_ra_mode'] = parsed_args.ipv6_ra_mode body['ipv6_ra_mode'] = parsed_args.ipv6_ra_mode
if for_create and parsed_args.ipv6_address_mode: if for_create and parsed_args.ipv6_address_mode:
if ip_version == 4: if ip_version == 4:
raise exceptions.CommandError(_("--ipv6-address-mode is " raise exceptions.CommandError(_("--ipv6-address-mode is "
"invalid when --ip-version " "invalid when --ip-version "
"is 4")) "is 4"))
body['subnet']['ipv6_address_mode'] = parsed_args.ipv6_address_mode body['ipv6_address_mode'] = parsed_args.ipv6_address_mode
class ListSubnet(neutronV20.ListCommand): class ListSubnet(neutronV20.ListCommand):
@@ -199,10 +199,10 @@ class CreateSubnet(neutronV20.CreateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
_network_id = neutronV20.find_resourceid_by_name_or_id( _network_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'network', parsed_args.network_id) self.get_client(), 'network', parsed_args.network_id)
body = {'subnet': {'network_id': _network_id}} body = {'network_id': _network_id}
if parsed_args.prefixlen: if parsed_args.prefixlen:
body['subnet'].update({'prefixlen': parsed_args.prefixlen}) body['prefixlen'] = parsed_args.prefixlen
ip_version = parsed_args.ip_version ip_version = parsed_args.ip_version
if parsed_args.subnetpool: if parsed_args.subnetpool:
if parsed_args.subnetpool == 'None': if parsed_args.subnetpool == 'None':
@@ -214,16 +214,16 @@ class CreateSubnet(neutronV20.CreateCommand):
# Now that we have the pool_id - let's just have a check on the # Now that we have the pool_id - let's just have a check on the
# ip version used in the pool # ip version used in the pool
ip_version = _subnetpool['ip_version'] ip_version = _subnetpool['ip_version']
body['subnet'].update({'subnetpool_id': _subnetpool_id}) body['subnetpool_id'] = _subnetpool_id
# IP version needs to be set as IP version can be # IP version needs to be set as IP version can be
# determined by subnetpool. # determined by subnetpool.
body['subnet']['ip_version'] = ip_version body['ip_version'] = ip_version
if parsed_args.cidr: if parsed_args.cidr:
# With subnetpool, cidr is now optional for creating subnet. # With subnetpool, cidr is now optional for creating subnet.
cidr = parsed_args.cidr cidr = parsed_args.cidr
body['subnet'].update({'cidr': cidr}) body['cidr'] = cidr
unusable_cidr = '/32' if ip_version == 4 else '/128' unusable_cidr = '/32' if ip_version == 4 else '/128'
if cidr.endswith(unusable_cidr): if cidr.endswith(unusable_cidr):
self.log.warning(_("An IPv%(ip)d subnet with a %(cidr)s CIDR " self.log.warning(_("An IPv%(ip)d subnet with a %(cidr)s CIDR "
@@ -235,9 +235,9 @@ class CreateSubnet(neutronV20.CreateCommand):
updatable_args2body(parsed_args, body, ip_version=ip_version) updatable_args2body(parsed_args, body, ip_version=ip_version)
if parsed_args.tenant_id: if parsed_args.tenant_id:
body['subnet'].update({'tenant_id': parsed_args.tenant_id}) body['tenant_id'] = parsed_args.tenant_id
return body return {'subnet': body}
class DeleteSubnet(neutronV20.DeleteCommand): class DeleteSubnet(neutronV20.DeleteCommand):
@@ -255,6 +255,6 @@ class UpdateSubnet(neutronV20.UpdateCommand):
add_updatable_arguments(parser) add_updatable_arguments(parser)
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'subnet': {}} body = {}
updatable_args2body(parsed_args, body, for_create=False) updatable_args2body(parsed_args, body, for_create=False)
return body return {'subnet': body}

View File

@@ -35,7 +35,7 @@ def add_updatable_arguments(parser):
def updatable_args2body(parsed_args, body, for_create=True): def updatable_args2body(parsed_args, body, for_create=True):
neutronV20.update_dict(parsed_args, body['subnetpool'], neutronV20.update_dict(parsed_args, body,
['name', 'prefixes', 'default_prefixlen', ['name', 'prefixes', 'default_prefixlen',
'min_prefixlen', 'max_prefixlen']) 'min_prefixlen', 'max_prefixlen'])
@@ -78,18 +78,18 @@ class CreateSubnetPool(neutronV20.CreateCommand):
'scopes')) 'scopes'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'subnetpool': {'prefixes': parsed_args.prefixes}} body = {'prefixes': parsed_args.prefixes}
updatable_args2body(parsed_args, body) updatable_args2body(parsed_args, body)
if parsed_args.shared: if parsed_args.shared:
body['subnetpool']['shared'] = True body['shared'] = True
# Parse and update for "address-scope" option # Parse and update for "address-scope" option
if parsed_args.address_scope: if parsed_args.address_scope:
_addrscope_id = neutronV20.find_resourceid_by_name_or_id( _addrscope_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'address_scope', self.get_client(), 'address_scope',
parsed_args.address_scope) parsed_args.address_scope)
body['subnetpool']['address_scope_id'] = _addrscope_id body['address_scope_id'] = _addrscope_id
return body return {'subnetpool': body}
class DeleteSubnetPool(neutronV20.DeleteCommand): class DeleteSubnetPool(neutronV20.DeleteCommand):
@@ -120,15 +120,15 @@ class UpdateSubnetPool(neutronV20.UpdateCommand):
'address scope')) 'address scope'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'subnetpool': {}} body = {}
updatable_args2body(parsed_args, body, for_create=False) updatable_args2body(parsed_args, body, for_create=False)
# Parse and update for "address-scope" option/s # Parse and update for "address-scope" option/s
if parsed_args.no_address_scope: if parsed_args.no_address_scope:
body['subnetpool']['address_scope_id'] = None body['address_scope_id'] = None
elif parsed_args.address_scope: elif parsed_args.address_scope:
_addrscope_id = neutronV20.find_resourceid_by_name_or_id( _addrscope_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'address_scope', self.get_client(), 'address_scope',
parsed_args.address_scope) parsed_args.address_scope)
body['subnetpool']['address_scope_id'] = _addrscope_id body['address_scope_id'] = _addrscope_id
return body return {'subnetpool': body}

View File

@@ -78,23 +78,23 @@ class CreateIKEPolicy(neutronv20.CreateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'ikepolicy': { body = {
'auth_algorithm': parsed_args.auth_algorithm, 'auth_algorithm': parsed_args.auth_algorithm,
'encryption_algorithm': parsed_args.encryption_algorithm, 'encryption_algorithm': parsed_args.encryption_algorithm,
'phase1_negotiation_mode': parsed_args.phase1_negotiation_mode, 'phase1_negotiation_mode': parsed_args.phase1_negotiation_mode,
'ike_version': parsed_args.ike_version, 'ike_version': parsed_args.ike_version,
'pfs': parsed_args.pfs, 'pfs': parsed_args.pfs,
}, } }
if parsed_args.name: if parsed_args.name:
body['ikepolicy'].update({'name': parsed_args.name}) body['name'] = parsed_args.name
if parsed_args.description: if parsed_args.description:
body['ikepolicy'].update({'description': parsed_args.description}) body['description'] = parsed_args.description
if parsed_args.tenant_id: if parsed_args.tenant_id:
body['ikepolicy'].update({'tenant_id': parsed_args.tenant_id}) body['tenant_id'] = parsed_args.tenant_id
if parsed_args.lifetime: if parsed_args.lifetime:
vpn_utils.validate_lifetime_dict(parsed_args.lifetime) vpn_utils.validate_lifetime_dict(parsed_args.lifetime)
body['ikepolicy'].update({'lifetime': parsed_args.lifetime}) body['lifetime'] = parsed_args.lifetime
return body return {'ikepolicy': body}
class UpdateIKEPolicy(neutronv20.UpdateCommand): class UpdateIKEPolicy(neutronv20.UpdateCommand):
@@ -111,12 +111,11 @@ class UpdateIKEPolicy(neutronv20.UpdateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'ikepolicy': { body = {}
}, }
if parsed_args.lifetime: if parsed_args.lifetime:
vpn_utils.validate_lifetime_dict(parsed_args.lifetime) vpn_utils.validate_lifetime_dict(parsed_args.lifetime)
body['ikepolicy'].update({'lifetime': parsed_args.lifetime}) body['lifetime'] = parsed_args.lifetime
return body return {'ikepolicy': body}
class DeleteIKEPolicy(neutronv20.DeleteCommand): class DeleteIKEPolicy(neutronv20.DeleteCommand):

View File

@@ -123,7 +123,7 @@ class CreateIPsecSiteConnection(neutronv20.CreateCommand):
message = _("Invalid MTU value: MTU must be " message = _("Invalid MTU value: MTU must be "
"greater than or equal to 68") "greater than or equal to 68")
raise exceptions.CommandError(message) raise exceptions.CommandError(message)
body = {'ipsec_site_connection': { body = {
'vpnservice_id': _vpnservice_id, 'vpnservice_id': _vpnservice_id,
'ikepolicy_id': _ikepolicy_id, 'ikepolicy_id': _ikepolicy_id,
'ipsecpolicy_id': _ipsecpolicy_id, 'ipsecpolicy_id': _ipsecpolicy_id,
@@ -133,27 +133,20 @@ class CreateIPsecSiteConnection(neutronv20.CreateCommand):
'initiator': parsed_args.initiator, 'initiator': parsed_args.initiator,
'psk': parsed_args.psk, 'psk': parsed_args.psk,
'admin_state_up': parsed_args.admin_state_down, 'admin_state_up': parsed_args.admin_state_down,
}, } }
if parsed_args.name: if parsed_args.name:
body['ipsec_site_connection'].update( body['name'] = parsed_args.name
{'name': parsed_args.name}
)
if parsed_args.description: if parsed_args.description:
body['ipsec_site_connection'].update( body['description'] = parsed_args.description
{'description': parsed_args.description}
)
if parsed_args.tenant_id: if parsed_args.tenant_id:
body['ipsec_site_connection'].update( body['tenant_id'] = parsed_args.tenant_id
{'tenant_id': parsed_args.tenant_id}
)
if parsed_args.dpd: if parsed_args.dpd:
vpn_utils.validate_dpd_dict(parsed_args.dpd) vpn_utils.validate_dpd_dict(parsed_args.dpd)
body['ipsec_site_connection'].update({'dpd': parsed_args.dpd}) body['dpd'] = parsed_args.dpd
if parsed_args.peer_cidrs: if parsed_args.peer_cidrs:
body['ipsec_site_connection'][ body['peer_cidrs'] = parsed_args.peer_cidrs
'peer_cidrs'] = parsed_args.peer_cidrs
return body return {'ipsec_site_connection': body}
class UpdateIPsecSiteConnection(neutronv20.UpdateCommand): class UpdateIPsecSiteConnection(neutronv20.UpdateCommand):
@@ -170,13 +163,11 @@ class UpdateIPsecSiteConnection(neutronv20.UpdateCommand):
help=vpn_utils.dpd_help("IPsec connection.")) help=vpn_utils.dpd_help("IPsec connection."))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'ipsec_site_connection': { body = {}
}, }
if parsed_args.dpd: if parsed_args.dpd:
vpn_utils.validate_dpd_dict(parsed_args.dpd) vpn_utils.validate_dpd_dict(parsed_args.dpd)
body['ipsec_site_connection'].update({'dpd': parsed_args.dpd}) body['dpd'] = parsed_args.dpd
return body return {'ipsec_site_connection': body}
class DeleteIPsecSiteConnection(neutronv20.DeleteCommand): class DeleteIPsecSiteConnection(neutronv20.DeleteCommand):

View File

@@ -77,25 +77,23 @@ class CreateIPsecPolicy(neutronv20.CreateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'ipsecpolicy': { body = {
'auth_algorithm': parsed_args.auth_algorithm, 'auth_algorithm': parsed_args.auth_algorithm,
'encryption_algorithm': parsed_args.encryption_algorithm, 'encryption_algorithm': parsed_args.encryption_algorithm,
'encapsulation_mode': parsed_args.encapsulation_mode, 'encapsulation_mode': parsed_args.encapsulation_mode,
'transform_protocol': parsed_args.transform_protocol, 'transform_protocol': parsed_args.transform_protocol,
'pfs': parsed_args.pfs, 'pfs': parsed_args.pfs,
}, } }
if parsed_args.name: if parsed_args.name:
body['ipsecpolicy'].update({'name': parsed_args.name}) body['name'] = parsed_args.name
if parsed_args.description: if parsed_args.description:
body['ipsecpolicy'].update( body['description'] = parsed_args.description
{'description': parsed_args.description}
)
if parsed_args.tenant_id: if parsed_args.tenant_id:
body['ipsecpolicy'].update({'tenant_id': parsed_args.tenant_id}) body['tenant_id'] = parsed_args.tenant_id
if parsed_args.lifetime: if parsed_args.lifetime:
vpn_utils.validate_lifetime_dict(parsed_args.lifetime) vpn_utils.validate_lifetime_dict(parsed_args.lifetime)
body['ipsecpolicy'].update({'lifetime': parsed_args.lifetime}) body['lifetime'] = parsed_args.lifetime
return body return {'ipsecpolicy': body}
class UpdateIPsecPolicy(neutronv20.UpdateCommand): class UpdateIPsecPolicy(neutronv20.UpdateCommand):
@@ -112,12 +110,11 @@ class UpdateIPsecPolicy(neutronv20.UpdateCommand):
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {'ipsecpolicy': { body = {}
}, }
if parsed_args.lifetime: if parsed_args.lifetime:
vpn_utils.validate_lifetime_dict(parsed_args.lifetime) vpn_utils.validate_lifetime_dict(parsed_args.lifetime)
body['ipsecpolicy'].update({'lifetime': parsed_args.lifetime}) body['lifetime'] = parsed_args.lifetime
return body return {'ipsecpolicy': body}
class DeleteIPsecPolicy(neutronv20.DeleteCommand): class DeleteIPsecPolicy(neutronv20.DeleteCommand):

View File

@@ -66,14 +66,14 @@ class CreateVPNService(neutronv20.CreateCommand):
self.get_client(), 'router', self.get_client(), 'router',
parsed_args.router) parsed_args.router)
body = {self.resource: {'subnet_id': _subnet_id, body = {'subnet_id': _subnet_id,
'router_id': _router_id, 'router_id': _router_id,
'admin_state_up': parsed_args.admin_state}, } 'admin_state_up': parsed_args.admin_state}
neutronv20.update_dict(parsed_args, body[self.resource], neutronv20.update_dict(parsed_args, body,
['name', 'description', ['name', 'description',
'tenant_id']) 'tenant_id'])
return body return {self.resource: body}
class UpdateVPNService(neutronv20.UpdateCommand): class UpdateVPNService(neutronv20.UpdateCommand):