Added support for L2 external domain association (l2dom). (#48670)
* Added support for L2 external domain association (l2dom). Added support for L2 external domain association (l2dom). * Update lib/ansible/modules/network/aci/aci_epg_to_domain.py * Fix a few small items, restore earlier changes Performed the necessary updates to fix this PR. * Fix spaces * One more miss
This commit is contained in:
parent
2faddfc1fe
commit
a796299651
1 changed files with 9 additions and 7 deletions
|
@ -48,12 +48,12 @@ options:
|
||||||
aliases: [ domain_name, domain_profile ]
|
aliases: [ domain_name, domain_profile ]
|
||||||
domain_type:
|
domain_type:
|
||||||
description:
|
description:
|
||||||
- Determines if the Domain is physical (phys) or virtual (vmm).
|
- Specify whether the Domain is a physical (phys), a virtual (vmm) or an L2 external domain association (l2dom).
|
||||||
choices: [ phys, vmm ]
|
choices: [ l2dom, phys, vmm ]
|
||||||
aliases: [ type ]
|
aliases: [ type ]
|
||||||
encap:
|
encap:
|
||||||
description:
|
description:
|
||||||
- The VLAN encapsulation for the EPG when binding a VMM Domain with static encap_mode.
|
- The VLAN encapsulation for the EPG when binding a VMM Domain with static C(encap_mode).
|
||||||
- This acts as the secondary encap when using useg.
|
- This acts as the secondary encap when using useg.
|
||||||
- Accepted values range between C(1) and C(4096).
|
- Accepted values range between C(1) and C(4096).
|
||||||
type: int
|
type: int
|
||||||
|
@ -277,7 +277,7 @@ def main():
|
||||||
ap=dict(type='str', aliases=['app_profile', 'app_profile_name']), # Not required for querying all objects
|
ap=dict(type='str', aliases=['app_profile', 'app_profile_name']), # Not required for querying all objects
|
||||||
deploy_immediacy=dict(type='str', choices=['immediate', 'lazy']),
|
deploy_immediacy=dict(type='str', choices=['immediate', 'lazy']),
|
||||||
domain=dict(type='str', aliases=['domain_name', 'domain_profile']), # Not required for querying all objects
|
domain=dict(type='str', aliases=['domain_name', 'domain_profile']), # Not required for querying all objects
|
||||||
domain_type=dict(type='str', choices=['phys', 'vmm'], aliases=['type']), # Not required for querying all objects
|
domain_type=dict(type='str', choices=['l2dom', 'phys', 'vmm'], aliases=['type']), # Not required for querying all objects
|
||||||
encap=dict(type='int'),
|
encap=dict(type='int'),
|
||||||
encap_mode=dict(type='str', choices=['auto', 'vlan', 'vxlan']),
|
encap_mode=dict(type='str', choices=['auto', 'vlan', 'vxlan']),
|
||||||
epg=dict(type='str', aliases=['name', 'epg_name']), # Not required for querying all objects
|
epg=dict(type='str', aliases=['name', 'epg_name']), # Not required for querying all objects
|
||||||
|
@ -326,13 +326,15 @@ def main():
|
||||||
state = module.params['state']
|
state = module.params['state']
|
||||||
tenant = module.params['tenant']
|
tenant = module.params['tenant']
|
||||||
|
|
||||||
if domain_type == 'phys' and vm_provider is not None:
|
if domain_type in ['l2dom', 'phys'] and vm_provider is not None:
|
||||||
module.fail_json(msg="Domain type 'phys' cannot have a 'vm_provider'")
|
module.fail_json(msg="Domain type '%s' cannot have a 'vm_provider'" % domain_type)
|
||||||
|
|
||||||
# Compile the full domain for URL building
|
# Compile the full domain for URL building
|
||||||
if domain_type == 'vmm':
|
if domain_type == 'vmm':
|
||||||
epg_domain = 'uni/vmmp-{0}/dom-{1}'.format(VM_PROVIDER_MAPPING[vm_provider], domain)
|
epg_domain = 'uni/vmmp-{0}/dom-{1}'.format(VM_PROVIDER_MAPPING[vm_provider], domain)
|
||||||
elif domain_type is not None:
|
elif domain_type == 'l2dom':
|
||||||
|
epg_domain = 'uni/l2dom-{0}'.format(domain)
|
||||||
|
elif domain_type == 'phys':
|
||||||
epg_domain = 'uni/phys-{0}'.format(domain)
|
epg_domain = 'uni/phys-{0}'.format(domain)
|
||||||
else:
|
else:
|
||||||
epg_domain = None
|
epg_domain = None
|
||||||
|
|
Loading…
Reference in a new issue