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:
@@ -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}
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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}
|
||||||
|
@@ -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
|
||||||
|
@@ -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):
|
||||||
|
@@ -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}
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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}
|
||||||
|
@@ -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}
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
@@ -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):
|
||||||
|
Reference in New Issue
Block a user