mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
ACI: Various changes and doc updates (#52957)
* ACI: Various changes and doc updates * Fix typos
This commit is contained in:
parent
bf3c291606
commit
076562e5c2
56 changed files with 717 additions and 686 deletions
|
@ -17,19 +17,6 @@ module: aci_aaa_user
|
|||
short_description: Manage AAA users (aaa:User)
|
||||
description:
|
||||
- Manage AAA users on Cisco ACI fabrics.
|
||||
notes:
|
||||
- This module is not idempotent when C(aaa_password) is being used
|
||||
(even if that password was already set identically). This
|
||||
appears to be an inconsistency wrt. the idempotent nature
|
||||
of the APIC REST API. The vendor has been informed.
|
||||
More information in :ref:`the ACI documentation <aci_guide_known_issues>`.
|
||||
seealso:
|
||||
- module: aci_aaa_user_certificate
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(aaa:User).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
requirements:
|
||||
- python-dateutil
|
||||
version_added: '2.5'
|
||||
|
@ -96,6 +83,19 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- This module is not idempotent when C(aaa_password) is being used
|
||||
(even if that password was already set identically). This
|
||||
appears to be an inconsistency wrt. the idempotent nature
|
||||
of the APIC REST API. The vendor has been informed.
|
||||
More information in :ref:`the ACI documentation <aci_guide_known_issues>`.
|
||||
seealso:
|
||||
- module: aci_aaa_user_certificate
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(aaa:User).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -249,9 +249,6 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
try:
|
||||
from dateutil.tz import tzutc
|
||||
import dateutil.parser
|
||||
|
@ -259,6 +256,9 @@ try:
|
|||
except ImportError:
|
||||
HAS_DATEUTIL = False
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
|
@ -266,7 +266,7 @@ def main():
|
|||
aaa_password=dict(type='str', no_log=True),
|
||||
aaa_password_lifetime=dict(type='int'),
|
||||
aaa_password_update_required=dict(type='bool'),
|
||||
aaa_user=dict(type='str', required=True, aliases=['name']), # Not required for querying all objects
|
||||
aaa_user=dict(type='str', aliases=['name']), # Not required for querying all objects
|
||||
clear_password_history=dict(type='bool'),
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
email=dict(type='str'),
|
||||
|
|
|
@ -17,16 +17,6 @@ module: aci_aaa_user_certificate
|
|||
short_description: Manage AAA user certificates (aaa:UserCert)
|
||||
description:
|
||||
- Manage AAA user certificates on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(aaa_user) must exist before using this module in your playbook.
|
||||
The M(aci_aaa_user) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_aaa_user
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(aaa:UserCert).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
aaa_user:
|
||||
|
@ -58,6 +48,16 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(aaa_user) must exist before using this module in your playbook.
|
||||
The M(aci_aaa_user) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_aaa_user
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(aaa:UserCert).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -209,8 +209,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
ACI_MAPPING = dict(
|
||||
appuser=dict(
|
||||
|
@ -227,9 +227,9 @@ ACI_MAPPING = dict(
|
|||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
aaa_user=dict(type='str', required=True), # Not required for querying all objects
|
||||
aaa_user=dict(type='str', required=True),
|
||||
aaa_user_type=dict(type='str', default='user', choices=['appuser', 'user']),
|
||||
certificate=dict(type='str', aliases=['cert_data', 'certificate_data']), # Not required for querying all objects
|
||||
certificate=dict(type='str', aliases=['cert_data', 'certificate_data']),
|
||||
certificate_name=dict(type='str', aliases=['cert_name']), # Not required for querying all objects
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
|
|
@ -17,12 +17,6 @@ module: aci_access_port_block_to_access_port
|
|||
short_description: Manage port blocks of Fabric interface policy leaf profile interface selectors (infra:HPortS, infra:PortBlk)
|
||||
description:
|
||||
- Manage port blocks of Fabric interface policy leaf profile interface selectors on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(infra:HPortS) and B(infra:PortBlk).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Simon Metzger (@smnmtzgr)
|
||||
version_added: '2.8'
|
||||
options:
|
||||
leaf_interface_profile:
|
||||
|
@ -76,6 +70,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(infra:HPortS) and B(infra:PortBlk).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Simon Metzger (@smnmtzgr)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -255,8 +255,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -266,8 +266,8 @@ def main():
|
|||
access_port_selector=dict(type='str', aliases=['name', 'access_port_selector_name']), # Not required for querying all objects
|
||||
leaf_port_blk=dict(type='str', aliases=['leaf_port_blk_name']), # Not required for querying all objects
|
||||
leaf_port_blk_description=dict(type='str'),
|
||||
from_port=dict(type='str', aliases=['from', 'fromPort', 'from_port_range']), # Not required for querying all objects and deleting port blocks
|
||||
to_port=dict(type='str', aliases=['to', 'toPort', 'to_port_range']), # Not required for querying all objects and deleting port blocks
|
||||
from_port=dict(type='str', aliases=['from', 'fromPort', 'from_port_range']),
|
||||
to_port=dict(type='str', aliases=['to', 'toPort', 'to_port_range']),
|
||||
from_card=dict(type='str', aliases=['from_card_range']),
|
||||
to_card=dict(type='str', aliases=['to_card_range']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
|
|
|
@ -17,12 +17,6 @@ module: aci_access_port_to_interface_policy_leaf_profile
|
|||
short_description: Manage Fabric interface policy leaf profile interface selectors (infra:HPortS, infra:RsAccBaseGrp, infra:PortBlk)
|
||||
description:
|
||||
- Manage Fabric interface policy leaf profile interface selectors on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(infra:HPortS), B(infra:RsAccBaseGrp) and B(infra:PortBlk).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
leaf_interface_profile:
|
||||
|
@ -119,6 +113,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(infra:HPortS), B(infra:RsAccBaseGrp) and B(infra:PortBlk).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -276,8 +276,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
INTERFACE_TYPE_MAPPING = dict(
|
||||
breakout='uni/infra/funcprof/brkoutportgrp-{0}',
|
||||
|
|
|
@ -17,12 +17,6 @@ short_description: Manage attachable Access Entity Profile (AEP) objects (infra:
|
|||
description:
|
||||
- Connect to external virtual and physical domains by using
|
||||
attachable Access Entity Profiles (AEP) on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(infra:AttEntityP) and B(infra:ProvAcc).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Swetha Chunduri (@schunduri)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
aep:
|
||||
|
@ -52,6 +46,12 @@ options:
|
|||
default: present
|
||||
choices: [ absent, present, query ]
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(infra:AttEntityP) and B(infra:ProvAcc).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Swetha Chunduri (@schunduri)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -199,8 +199,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -17,17 +17,6 @@ module: aci_aep_to_domain
|
|||
short_description: Bind AEPs to Physical or Virtual Domains (infra:RsDomP)
|
||||
description:
|
||||
- Bind AEPs to Physical or Virtual Domains on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(aep) and C(domain) parameters should exist before using this module.
|
||||
The M(aci_aep) and M(aci_domain) can be used for these.
|
||||
seealso:
|
||||
- module: aci_aep
|
||||
- module: aci_domain
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:RsDomP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
aep:
|
||||
|
@ -61,6 +50,17 @@ options:
|
|||
type: str
|
||||
choices: [ cloudfoundry, kubernetes, microsoft, openshift, openstack, redhat, vmware ]
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(aep) and C(domain) parameters should exist before using this module.
|
||||
The M(aci_aep) and M(aci_domain) can be used for these.
|
||||
seealso:
|
||||
- module: aci_aep
|
||||
- module: aci_domain
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:RsDomP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -213,8 +213,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
VM_PROVIDER_MAPPING = dict(
|
||||
cloudfoundry='CloudFoundry',
|
||||
|
|
|
@ -16,17 +16,6 @@ module: aci_ap
|
|||
short_description: Manage top level Application Profile (AP) objects (fv:Ap)
|
||||
description:
|
||||
- Manage top level Application Profile (AP) objects on Cisco ACI fabrics
|
||||
notes:
|
||||
- This module does not manage EPGs, see M(aci_epg) to do this.
|
||||
- The used C(tenant) must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:Ap).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Swetha Chunduri (@schunduri)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
tenant:
|
||||
|
@ -54,6 +43,17 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- This module does not manage EPGs, see M(aci_epg) to do this.
|
||||
- The used C(tenant) must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:Ap).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Swetha Chunduri (@schunduri)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -204,8 +204,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -213,7 +213,7 @@ def main():
|
|||
argument_spec.update(
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
ap=dict(type='str', aliases=['app_profile', 'app_profile_name', 'name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr'], required=False),
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
||||
|
|
|
@ -16,16 +16,6 @@ module: aci_bd
|
|||
short_description: Manage Bridge Domains (BD) objects (fv:BD)
|
||||
description:
|
||||
- Manages Bridge Domains (BD) on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:BD).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
arp_flooding:
|
||||
|
@ -144,6 +134,16 @@ options:
|
|||
type: str
|
||||
aliases: [ vrf_name ]
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:BD).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -326,8 +326,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -16,19 +16,6 @@ module: aci_bd_subnet
|
|||
short_description: Manage Subnets (fv:Subnet)
|
||||
description:
|
||||
- Manage Subnets on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(gateway) parameter is the root key used to access the Subnet (not name), so the C(gateway)
|
||||
is required when the state is C(absent) or C(present).
|
||||
- The C(tenant) and C(bd) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module and M(aci_bd) can be used for these.
|
||||
seealso:
|
||||
- module: aci_bd
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:Subnet).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
bd:
|
||||
|
@ -118,6 +105,19 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(gateway) parameter is the root key used to access the Subnet (not name), so the C(gateway)
|
||||
is required when the state is C(absent) or C(present).
|
||||
- The C(tenant) and C(bd) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module and M(aci_bd) can be used for these.
|
||||
seealso:
|
||||
- module: aci_bd
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:Subnet).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -333,11 +333,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
SUBNET_CONTROL_MAPPING = dict(nd_ra='nd', no_gw='no-default-gateway', querier_ip='querier', unspecified='')
|
||||
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
SUBNET_CONTROL_MAPPING = dict(
|
||||
nd_ra='nd',
|
||||
no_gw='no-default-gateway',
|
||||
querier_ip='querier',
|
||||
unspecified='',
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -16,17 +16,6 @@ module: aci_bd_to_l3out
|
|||
short_description: Bind Bridge Domain to L3 Out (fv:RsBDToOut)
|
||||
description:
|
||||
- Bind Bridge Domain to L3 Out on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(bd) and C(l3out) parameters should exist before using this module.
|
||||
The M(aci_bd) and C(aci_l3out) can be used for these.
|
||||
seealso:
|
||||
- module: aci_bd
|
||||
- module: aci_l3out
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:RsBDToOut).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
bd:
|
||||
|
@ -51,6 +40,17 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(bd) and C(l3out) parameters should exist before using this module.
|
||||
The M(aci_bd) and C(aci_l3out) can be used for these.
|
||||
seealso:
|
||||
- module: aci_bd
|
||||
- module: aci_l3out
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:RsBDToOut).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r''' # '''
|
||||
|
@ -160,11 +160,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
SUBNET_CONTROL_MAPPING = dict(nd_ra='nd', no_gw='no-default-gateway', querier_ip='querier', unspecified='')
|
||||
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
SUBNET_CONTROL_MAPPING = dict(
|
||||
nd_ra='nd',
|
||||
no_gw='no-default-gateway',
|
||||
querier_ip='querier',
|
||||
unspecified='',
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -172,8 +176,8 @@ def main():
|
|||
argument_spec.update(
|
||||
bd=dict(type='str', aliases=['bd_name', 'bridge_domain']), # Not required for querying all objects
|
||||
l3out=dict(type='str'), # Not required for querying all objects
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -17,13 +17,6 @@ short_description: Provides rollback and rollback preview functionality (config:
|
|||
description:
|
||||
- Provides rollback and rollback preview functionality for Cisco ACI fabrics.
|
||||
- Config Rollbacks are done using snapshots C(aci_snapshot) with the configImportP class.
|
||||
seealso:
|
||||
- module: aci_config_snapshot
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(config:ImportP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
compare_export_policy:
|
||||
|
@ -79,6 +72,13 @@ options:
|
|||
choices: [ preview, rollback ]
|
||||
default: rollback
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- module: aci_config_snapshot
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(config:ImportP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
|
|
@ -18,17 +18,6 @@ description:
|
|||
- Manage Config Snapshots on Cisco ACI fabrics.
|
||||
- Creating new Snapshots is done using the configExportP class.
|
||||
- Removing Snapshots is done using the configSnapshot class.
|
||||
notes:
|
||||
- The APIC does not provide a mechanism for naming the snapshots.
|
||||
- 'Snapshot files use the following naming structure: ce_<config export policy name>-<yyyy>-<mm>-<dd>T<hh>:<mm>:<ss>.<mss>+<hh>:<mm>.'
|
||||
- 'Snapshot objects use the following naming structure: run-<yyyy>-<mm>-<dd>T<hh>-<mm>-<ss>.'
|
||||
seealso:
|
||||
- module: aci_config_rollback
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(config:Snapshot) and B(config:ExportP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
description:
|
||||
|
@ -70,6 +59,17 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The APIC does not provide a mechanism for naming the snapshots.
|
||||
- 'Snapshot files use the following naming structure: ce_<config export policy name>-<yyyy>-<mm>-<dd>T<hh>:<mm>:<ss>.<mss>+<hh>:<mm>.'
|
||||
- 'Snapshot objects use the following naming structure: run-<yyyy>-<mm>-<dd>T<hh>-<mm>-<ss>.'
|
||||
seealso:
|
||||
- module: aci_config_rollback
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(config:Snapshot) and B(config:ExportP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -219,8 +219,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -16,19 +16,6 @@ module: aci_contract
|
|||
short_description: Manage contract resources (vz:BrCP)
|
||||
description:
|
||||
- Manage Contract resources on Cisco ACI fabrics.
|
||||
notes:
|
||||
- This module does not manage Contract Subjects, see M(aci_contract_subject) to do this.
|
||||
Contract Subjects can still be removed using this module.
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_contract_subject
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:BrCP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
contract:
|
||||
|
@ -75,6 +62,19 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- This module does not manage Contract Subjects, see M(aci_contract_subject) to do this.
|
||||
Contract Subjects can still be removed using this module.
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_contract_subject
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:BrCP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -226,15 +226,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
contract=dict(type='str', required=False, aliases=['contract_name', 'name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', required=False, aliases=['tenant_name']), # Not required for querying all objects
|
||||
contract=dict(type='str', aliases=['contract_name', 'name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
scope=dict(type='str', choices=['application-profile', 'context', 'global', 'tenant']),
|
||||
priority=dict(type='str', choices=['level1', 'level2', 'level3', 'unspecified']), # No default provided on purpose
|
||||
|
|
|
@ -16,17 +16,6 @@ module: aci_contract_subject
|
|||
short_description: Manage initial Contract Subjects (vz:Subj)
|
||||
description:
|
||||
- Manage initial Contract Subjects on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) and C(contract) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) and M(aci_contract) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_contract
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:Subj).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Swetha Chunduri (@schunduri)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
tenant:
|
||||
|
@ -89,6 +78,17 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) and C(contract) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) and M(aci_contract) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_contract
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:Subj).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Swetha Chunduri (@schunduri)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -245,10 +245,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
MATCH_MAPPING = dict(all='All', at_least_one='AtleastOne', at_most_one='AtmostOne', none='None')
|
||||
MATCH_MAPPING = dict(
|
||||
all='All',
|
||||
at_least_one='AtleastOne',
|
||||
at_most_one='AtmostOne',
|
||||
none='None',
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -16,19 +16,6 @@ module: aci_contract_subject_to_filter
|
|||
short_description: Bind Contract Subjects to Filters (vz:RsSubjFiltAtt)
|
||||
description:
|
||||
- Bind Contract Subjects to Filters on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant), C(contract), C(subject), and C(filter_name) must exist before using this module in your playbook.
|
||||
The M(aci_tenant), M(aci_contract), M(aci_contract_subject), and M(aci_filter) modules can be used for these.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_contract
|
||||
- module: aci_contract_subject
|
||||
- module: aci_filter
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:RsSubjFiltAtt).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
contract:
|
||||
|
@ -67,6 +54,19 @@ options:
|
|||
required: yes
|
||||
aliases: [ tenant_name ]
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant), C(contract), C(subject), and C(filter_name) must exist before using this module in your playbook.
|
||||
The M(aci_tenant), M(aci_contract), M(aci_contract_subject), and M(aci_filter) modules can be used for these.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_contract
|
||||
- module: aci_contract_subject
|
||||
- module: aci_filter
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:RsSubjFiltAtt).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -227,8 +227,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -236,9 +236,9 @@ def main():
|
|||
argument_spec.update(
|
||||
contract=dict(type='str', aliases=['contract_name']), # Not required for querying all objects
|
||||
filter=dict(type='str', aliases=['filter_name']), # Not required for querying all objects
|
||||
log=dict(tyep='str', choices=['log', 'none'], aliases=['directive']),
|
||||
subject=dict(type='str', aliases=['contract_subject', 'subject_name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
log=dict(tyep='str', choices=['log', 'none'], aliases=['directive']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
||||
|
|
|
@ -16,13 +16,6 @@ module: aci_domain
|
|||
short_description: Manage physical, virtual, bridged, routed or FC domain profiles (phys:DomP, vmm:DomP, l2ext:DomP, l3ext:DomP, fc:DomP)
|
||||
description:
|
||||
- Manage physical, virtual, bridged, routed or FC domain profiles on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(phys:DomP),
|
||||
B(vmm:DomP), B(l2ext:DomP), B(l3ext:DomP) and B(fc:DomP)
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
domain:
|
||||
|
@ -78,6 +71,13 @@ options:
|
|||
type: str
|
||||
choices: [ avs, default, dvs, unknown ]
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(phys:DomP),
|
||||
B(vmm:DomP), B(l2ext:DomP), B(l3ext:DomP) and B(fc:DomP)
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -260,6 +260,7 @@ VM_PROVIDER_MAPPING = dict(
|
|||
redhat='Redhat',
|
||||
vmware='VMware',
|
||||
)
|
||||
|
||||
VSWITCH_MAPPING = dict(
|
||||
avs='n1kv',
|
||||
default='default',
|
||||
|
@ -271,12 +272,12 @@ VSWITCH_MAPPING = dict(
|
|||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
domain_type=dict(type='str', required=True, choices=['fc', 'l2dom', 'l3dom', 'phys', 'vmm'], aliases=['type']),
|
||||
domain=dict(type='str', aliases=['domain_name', 'domain_profile', 'name']), # Not required for querying all objects
|
||||
dscp=dict(type='str',
|
||||
choices=['AF11', 'AF12', 'AF13', 'AF21', 'AF22', 'AF23', 'AF31', 'AF32', 'AF33', 'AF41', 'AF42', 'AF43',
|
||||
'CS0', 'CS1', 'CS2', 'CS3', 'CS4', 'CS5', 'CS6', 'CS7', 'EF', 'VA', 'unspecified'],
|
||||
aliases=['target']),
|
||||
domain=dict(type='str', aliases=['domain_name', 'domain_profile', 'name']), # Not required for querying all objects
|
||||
domain_type=dict(type='str', required=True, choices=['fc', 'l2dom', 'l3dom', 'phys', 'vmm'], aliases=['type']), # Not required for querying all objects
|
||||
encap_mode=dict(type='str', choices=['unknown', 'vlan', 'vxlan']),
|
||||
multicast_address=dict(type='str'),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
|
|
|
@ -20,14 +20,6 @@ description:
|
|||
notes:
|
||||
- The C(domain) and C(encap_pool) parameters should exist before using this module.
|
||||
The M(aci_domain) and M(aci_encap_pool) can be used for these.
|
||||
seealso:
|
||||
- module: aci_domain
|
||||
- module: aci_encap_pool
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:RsVlanNs).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
domain:
|
||||
|
@ -73,6 +65,14 @@ options:
|
|||
type: str
|
||||
choices: [ cloudfoundry, kubernetes, microsoft, openshift, openstack, redhat, vmware ]
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- module: aci_domain
|
||||
- module: aci_encap_pool
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:RsVlanNs).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -233,8 +233,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
VM_PROVIDER_MAPPING = dict(
|
||||
cloudfoundry='CloudFoundry',
|
||||
|
@ -265,11 +265,11 @@ POOL_MAPPING = dict(
|
|||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
domain=dict(type='str', aliases=['domain_name', 'domain_profile']),
|
||||
domain_type=dict(type='str', choices=['fc', 'l2dom', 'l3dom', 'phys', 'vmm']),
|
||||
pool=dict(type='str', aliases=['pool_name']),
|
||||
pool_allocation_mode=dict(type='str', aliases=['allocation_mode', 'mode'], choices=['dynamic', 'static']),
|
||||
domain_type=dict(type='str', required=True, choices=['fc', 'l2dom', 'l3dom', 'phys', 'vmm']),
|
||||
pool_type=dict(type='str', required=True, choices=['vlan', 'vsan', 'vxlan']),
|
||||
domain=dict(type='str', aliases=['domain_name', 'domain_profile']), # Not required for querying all objects
|
||||
pool=dict(type='str', aliases=['pool_name']), # Not required for querying all objects
|
||||
pool_allocation_mode=dict(type='str', aliases=['allocation_mode', 'mode'], choices=['dynamic', 'static']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
vm_provider=dict(type='str', choices=['cloudfoundry', 'kubernetes', 'microsoft', 'openshift', 'openstack', 'redhat', 'vmware']),
|
||||
)
|
||||
|
|
|
@ -17,17 +17,6 @@ module: aci_domain_to_vlan_pool
|
|||
short_description: Bind Domain to VLAN Pools (infra:RsVlanNs)
|
||||
description:
|
||||
- Bind Domain to VLAN Pools on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(domain) and C(vlan_pool) parameters should exist before using this module.
|
||||
The M(aci_domain) and M(aci_vlan_pool) can be used for these.
|
||||
seealso:
|
||||
- module: aci_domain
|
||||
- module: aci_vlan_pool
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:RsVlanNs).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
domain:
|
||||
|
@ -67,6 +56,17 @@ options:
|
|||
type: str
|
||||
choices: [ cloudfoundry, kubernetes, microsoft, openshift, openstack, redhat, vmware ]
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(domain) and C(vlan_pool) parameters should exist before using this module.
|
||||
The M(aci_domain) and M(aci_vlan_pool) can be used for these.
|
||||
seealso:
|
||||
- module: aci_domain
|
||||
- module: aci_vlan_pool
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:RsVlanNs).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -249,8 +249,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
VM_PROVIDER_MAPPING = dict(
|
||||
cloudfoundry='CloudFoundry',
|
||||
|
@ -266,8 +266,8 @@ VM_PROVIDER_MAPPING = dict(
|
|||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
domain_type=dict(type='str', required=True, choices=['fc', 'l2dom', 'l3dom', 'phys', 'vmm']),
|
||||
domain=dict(type='str', aliases=['domain_name', 'domain_profile']), # Not required for querying all objects
|
||||
domain_type=dict(type='str', required=True, choices=['fc', 'l2dom', 'l3dom', 'phys', 'vmm']), # Not required for querying all objects
|
||||
pool=dict(type='str', aliases=['pool_name', 'vlan_pool']), # Not required for querying all objects
|
||||
pool_allocation_mode=dict(type='str', required=True, aliases=['allocation_mode', 'mode'], choices=['dynamic', 'static']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
|
|
|
@ -16,14 +16,6 @@ module: aci_encap_pool
|
|||
short_description: Manage encap pools (fvns:VlanInstP, fvns:VxlanInstP, fvns:VsanInstP)
|
||||
description:
|
||||
- Manage vlan, vxlan, and vsan pools on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- module: aci_encap_pool_range
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(fvns:VlanInstP),
|
||||
B(fvns:VxlanInstP) and B(fvns:VsanInstP)
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
description:
|
||||
|
@ -49,7 +41,7 @@ options:
|
|||
type: str
|
||||
required: yes
|
||||
aliases: [ type ]
|
||||
choices: [ vlan, vxlan, vsan]
|
||||
choices: [ vlan, vsan, vxlan ]
|
||||
state:
|
||||
description:
|
||||
- Use C(present) or C(absent) for adding or removing.
|
||||
|
@ -58,6 +50,14 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- module: aci_encap_pool_range
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(fvns:VlanInstP),
|
||||
B(fvns:VxlanInstP) and B(fvns:VsanInstP)
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -209,10 +209,10 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
ACI_MAPPING = dict(
|
||||
ACI_POOL_MAPPING = dict(
|
||||
vlan=dict(
|
||||
aci_class='fvnsVlanInstP',
|
||||
aci_mo='infra/vlanns-',
|
||||
|
@ -231,10 +231,10 @@ ACI_MAPPING = dict(
|
|||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
pool_type=dict(type='str', required=True, aliases=['type'], choices=['vlan', 'vsan', 'vxlan']),
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
pool=dict(type='str', aliases=['name', 'pool_name']), # Not required for querying all objects
|
||||
pool_allocation_mode=dict(type='str', aliases=['allocation_mode', 'mode'], choices=['dynamic', 'static']),
|
||||
pool_type=dict(type='str', aliases=['type'], choices=['vlan', 'vxlan', 'vsan'], required=True),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
||||
|
@ -253,8 +253,8 @@ def main():
|
|||
pool_allocation_mode = module.params['pool_allocation_mode']
|
||||
state = module.params['state']
|
||||
|
||||
aci_class = ACI_MAPPING[pool_type]["aci_class"]
|
||||
aci_mo = ACI_MAPPING[pool_type]["aci_mo"]
|
||||
aci_class = ACI_POOL_MAPPING[pool_type]['aci_class']
|
||||
aci_mo = ACI_POOL_MAPPING[pool_type]['aci_mo']
|
||||
pool_name = pool
|
||||
|
||||
# ACI Pool URL requires the pool_allocation mode for vlan and vsan pools (ex: uni/infra/vlanns-[poolname]-static)
|
||||
|
|
|
@ -16,15 +16,6 @@ module: aci_encap_pool_range
|
|||
short_description: Manage encap ranges assigned to pools (fvns:EncapBlk, fvns:VsanEncapBlk)
|
||||
description:
|
||||
- Manage vlan, vxlan, and vsan ranges that are assigned to pools on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(pool) must exist in order to add or delete a range.
|
||||
seealso:
|
||||
- module: aci_encap_pool
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(fvns:EncapBlk) and B(fvns:VsanEncapBlk).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
allocation_mode:
|
||||
|
@ -81,6 +72,15 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(pool) must exist in order to add or delete a range.
|
||||
seealso:
|
||||
- module: aci_encap_pool
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(fvns:EncapBlk) and B(fvns:VsanEncapBlk).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -278,8 +278,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
ACI_POOL_MAPPING = dict(
|
||||
vlan=dict(
|
||||
|
@ -300,11 +300,11 @@ ACI_POOL_MAPPING = dict(
|
|||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
pool_type=dict(type='str', required=True, aliases=['type'], choices=['vlan', 'vxlan', 'vsan']),
|
||||
allocation_mode=dict(type='str', aliases=['mode'], choices=['dynamic', 'inherit', 'static']),
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
pool=dict(type='str', aliases=['pool_name']), # Not required for querying all objects
|
||||
pool_allocation_mode=dict(type='str', aliases=['pool_mode'], choices=['dynamic', 'static']),
|
||||
pool_type=dict(type='str', aliases=['type'], choices=['vlan', 'vxlan', 'vsan'], required=True),
|
||||
range_end=dict(type='int', aliases=['end']), # Not required for querying all objects
|
||||
range_name=dict(type='str', aliases=["name", "range"]), # Not required for querying all objects
|
||||
range_start=dict(type='int', aliases=["start"]), # Not required for querying all objects
|
||||
|
|
|
@ -16,17 +16,6 @@ module: aci_epg
|
|||
short_description: Manage End Point Groups (EPG) objects (fv:AEPg)
|
||||
description:
|
||||
- Manage End Point Groups (EPG) on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) and C(app_profile) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) and M(aci_ap) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_ap
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:AEPg).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Swetha Chunduri (@schunduri)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
tenant:
|
||||
|
@ -89,6 +78,17 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) and C(app_profile) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) and M(aci_ap) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_ap
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:AEPg).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Swetha Chunduri (@schunduri)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -286,8 +286,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -16,16 +16,6 @@ module: aci_epg_monitoring_policy
|
|||
short_description: Manage monitoring policies (mon:EPGPol)
|
||||
description:
|
||||
- Manage monitoring policies on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(mon:EPGPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
monitoring_policy:
|
||||
|
@ -53,6 +43,16 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(mon:EPGPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
# FIXME: Add more, better examples
|
||||
|
@ -172,15 +172,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
monitoring_policy=dict(type='str', required=False, aliases=['name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', required=False, aliases=['tenant_name']), # Not required for querying all objects
|
||||
monitoring_policy=dict(type='str', aliases=['name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
|
|
@ -19,16 +19,6 @@ description:
|
|||
notes:
|
||||
- The C(tenant), C(app_profile), C(EPG), and C(Contract) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant), M(aci_ap), M(aci_epg), and M(aci_contract) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_ap
|
||||
- module: aci_epg
|
||||
- module: aci_contract
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(fv:RsCons) and B(fv:RsProv).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
ap:
|
||||
|
@ -77,6 +67,16 @@ options:
|
|||
type: str
|
||||
aliases: [ tenant_name ]
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_ap
|
||||
- module: aci_epg
|
||||
- module: aci_contract
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(fv:RsCons) and B(fv:RsProv).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -236,20 +236,35 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
ACI_CLASS_MAPPING = {"consumer": {"class": "fvRsCons", "rn": "rscons-"}, "provider": {"class": "fvRsProv", "rn": "rsprov-"}}
|
||||
PROVIDER_MATCH_MAPPING = {"all": "All", "at_least_one": "AtleastOne", "at_most_one": "AtmostOne", "none": "None"}
|
||||
ACI_CLASS_MAPPING = dict(
|
||||
consumer={
|
||||
'class': 'fvRsCons',
|
||||
'rn': 'rscons-',
|
||||
},
|
||||
provider={
|
||||
'class': 'fvRsProv',
|
||||
'rn': 'rsprov-',
|
||||
},
|
||||
)
|
||||
|
||||
PROVIDER_MATCH_MAPPING = dict(
|
||||
all='All',
|
||||
at_least_one='AtleastOne',
|
||||
at_most_one='tmostOne',
|
||||
none='None',
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
contract_type=dict(type='str', required=True, choices=['consumer', 'provider']),
|
||||
ap=dict(type='str', aliases=['app_profile', 'app_profile_name']), # Not required for querying all objects
|
||||
epg=dict(type='str', aliases=['epg_name']), # Not required for querying all objects
|
||||
contract=dict(type='str', aliases=['contract_name']), # Not required for querying all objects
|
||||
contract_type=dict(type='str', required=True, choices=['consumer', 'provider']),
|
||||
priority=dict(type='str', choices=['level1', 'level2', 'level3', 'unspecified']),
|
||||
provider_match=dict(type='str', choices=['all', 'at_least_one', 'at_most_one', 'none']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
|
|
|
@ -16,22 +16,6 @@ module: aci_epg_to_domain
|
|||
short_description: Bind EPGs to Domains (fv:RsDomAtt)
|
||||
description:
|
||||
- Bind EPGs to Physical and Virtual Domains on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant), C(ap), C(epg), and C(domain) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) M(aci_ap), M(aci_epg) M(aci_domain) modules can be used for this.
|
||||
- OpenStack VMM domains must not be created using this module. The OpenStack VMM domain is created directly
|
||||
by the Cisco APIC Neutron plugin as part of the installation and configuration.
|
||||
This module can be used to query status of an OpenStack VMM domain.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_ap
|
||||
- module: aci_epg
|
||||
- module: aci_domain
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:RsDomAtt).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
allow_useg:
|
||||
|
@ -115,6 +99,22 @@ options:
|
|||
type: str
|
||||
choices: [ cloudfoundry, kubernetes, microsoft, openshift, openstack, redhat, vmware ]
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant), C(ap), C(epg), and C(domain) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) M(aci_ap), M(aci_epg) M(aci_domain) modules can be used for this.
|
||||
- OpenStack VMM domains must not be created using this module. The OpenStack VMM domain is created directly
|
||||
by the Cisco APIC Neutron plugin as part of the installation and configuration.
|
||||
This module can be used to query status of an OpenStack VMM domain.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_ap
|
||||
- module: aci_epg
|
||||
- module: aci_domain
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:RsDomAtt).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -273,8 +273,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
VM_PROVIDER_MAPPING = dict(
|
||||
cloudfoundry='CloudFoundry',
|
||||
|
|
|
@ -17,12 +17,6 @@ module: aci_fabric_node
|
|||
short_description: Manage Fabric Node Members (fabric:NodeIdentP)
|
||||
description:
|
||||
- Manage Fabric Node Members on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fabric:NodeIdentP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
pod_id:
|
||||
|
@ -62,6 +56,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fabric:NodeIdentP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -201,8 +201,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
# NOTE: (This problem is also present on the APIC GUI)
|
||||
|
|
|
@ -17,16 +17,6 @@ short_description: Manages top level filter objects (vz:Filter)
|
|||
description:
|
||||
- Manages top level filter objects on Cisco ACI fabrics.
|
||||
- This modules does not manage filter entries, see M(aci_filter_entry) for this functionality.
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:Filter).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
filter:
|
||||
|
@ -54,6 +44,16 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:Filter).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -205,15 +205,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
filter=dict(type='str', required=False, aliases=['name', 'filter_name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', required=False, aliases=['tenant_name']), # Not required for querying all objects
|
||||
filter=dict(type='str', aliases=['name', 'filter_name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
|
|
@ -16,17 +16,6 @@ module: aci_filter_entry
|
|||
short_description: Manage filter entries (vz:Entry)
|
||||
description:
|
||||
- Manage filter entries for a filter on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) and C(filter) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) and M(aci_filter) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_filter
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:Entry).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
arp_flag:
|
||||
|
@ -108,6 +97,17 @@ options:
|
|||
type: str
|
||||
aliases: [ tenant_name ]
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) and C(filter) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) and M(aci_filter) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_filter
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:Entry).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -230,8 +230,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
VALID_ARP_FLAGS = ['arp_reply', 'arp_request', 'unspecified']
|
||||
VALID_ETHER_TYPES = ['arp', 'fcoe', 'ip', 'mac_security', 'mpls_ucast', 'trill', 'unspecified']
|
||||
|
|
|
@ -17,13 +17,7 @@ module: aci_firmware_source
|
|||
short_description: Manage firmware image sources (firmware:OSource)
|
||||
description:
|
||||
- Manage firmware image sources on Cisco ACI fabrics.
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.5'
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(firmware:OSource).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
options:
|
||||
source:
|
||||
description:
|
||||
|
@ -62,6 +56,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(firmware:OSource).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -211,8 +211,8 @@ url:
|
|||
'''
|
||||
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -16,13 +16,7 @@ module: aci_interface_policy_fc
|
|||
short_description: Manage Fibre Channel interface policies (fc:IfPol)
|
||||
description:
|
||||
- Manage ACI Fiber Channel interface policies on Cisco ACI fabrics.
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fc:IfPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
options:
|
||||
fc_policy:
|
||||
description:
|
||||
|
@ -49,6 +43,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fc:IfPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -168,14 +168,14 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
fc_policy=dict(type='str', required=False, aliases=['name']), # Not required for querying all objects
|
||||
fc_policy=dict(type='str', aliases=['name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
port_mode=dict(type='str', choices=['f', 'np']), # No default provided on purpose
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
|
|
|
@ -16,13 +16,7 @@ module: aci_interface_policy_l2
|
|||
short_description: Manage Layer 2 interface policies (l2:IfPol)
|
||||
description:
|
||||
- Manage Layer 2 interface policies on Cisco ACI fabrics.
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(l2:IfPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
options:
|
||||
l2_policy:
|
||||
description:
|
||||
|
@ -60,6 +54,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(l2:IfPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -178,17 +178,21 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
# Mapping dicts are used to normalize the proposed data to what the APIC expects, which will keep diffs accurate
|
||||
QINQ_MAPPING = dict(core='corePort', disabled='disabled', edge='edgePort')
|
||||
QINQ_MAPPING = dict(
|
||||
core='corePort',
|
||||
disabled='disabled',
|
||||
edge='edgePort',
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
l2_policy=dict(type='str', required=False, aliases=['name']), # Not required for querying all policies
|
||||
l2_policy=dict(type='str', aliases=['name']), # Not required for querying all policies
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
vlan_scope=dict(type='str', choices=['global', 'portlocal']), # No default provided on purpose
|
||||
qinq=dict(type='str', choices=['core', 'disabled', 'edge']),
|
||||
|
|
|
@ -17,15 +17,6 @@ module: aci_interface_policy_leaf_policy_group
|
|||
short_description: Manage fabric interface policy leaf policy groups (infra:AccBndlGrp, infra:AccPortGrp)
|
||||
description:
|
||||
- Manage fabric interface policy leaf policy groups on Cisco ACI fabrics.
|
||||
notes:
|
||||
- When using the module please select the appropriate link_aggregation_type (lag_type).
|
||||
C(link) for Port Channel(PC), C(node) for Virtual Port Channel(VPC) and C(leaf) for Leaf Access Port Policy Group.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(infra:AccBndlGrp) and B(infra:AccPortGrp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
policy_group:
|
||||
|
@ -136,6 +127,15 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- When using the module please select the appropriate link_aggregation_type (lag_type).
|
||||
C(link) for Port Channel(PC), C(node) for Virtual Port Channel(VPC) and C(leaf) for Leaf Access Port Policy Group.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(infra:AccBndlGrp) and B(infra:AccPortGrp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -313,18 +313,18 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
policy_group=dict(type='str', aliases=['name', 'policy_group_name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
# NOTE: Since this module needs to include both infra:AccBndlGrp (for PC and VPC) and infra:AccPortGrp (for leaf access port policy group):
|
||||
# NOTE: I'll allow the user to make the choice here (link(PC), node(VPC), leaf(leaf-access port policy group))
|
||||
lag_type=dict(type='str', required=True, aliases=['lag_type_name'], choices=['leaf', 'link', 'node']),
|
||||
policy_group=dict(type='str', aliases=['name', 'policy_group_name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
link_level_policy=dict(type='str', aliases=['link_level_policy_name']),
|
||||
cdp_policy=dict(type='str', aliases=['cdp_policy_name']),
|
||||
mcp_policy=dict(type='str', aliases=['mcp_policy_name']),
|
||||
|
|
|
@ -17,12 +17,6 @@ module: aci_interface_policy_leaf_profile
|
|||
short_description: Manage fabric interface policy leaf profiles (infra:AccPortP)
|
||||
description:
|
||||
- Manage fabric interface policy leaf profiles on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:AccPortP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
leaf_interface_profile:
|
||||
|
@ -44,6 +38,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:AccPortP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -190,8 +190,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -16,12 +16,6 @@ module: aci_interface_policy_lldp
|
|||
short_description: Manage LLDP interface policies (lldp:IfPol)
|
||||
description:
|
||||
- Manage LLDP interface policies on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(lldp:IfPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
lldp_policy:
|
||||
|
@ -53,6 +47,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(lldp:IfPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
# FIXME: Add more, better examples
|
||||
|
@ -173,14 +173,14 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
lldp_policy=dict(type='str', require=False, aliases=['name']), # Not required for querying all objects
|
||||
lldp_policy=dict(type='str', aliases=['name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
receive_state=dict(type='raw'), # Turn into a boolean in v2.9
|
||||
transmit_state=dict(type='raw'), # Turn into a boolean in v2.9
|
||||
|
|
|
@ -16,12 +16,6 @@ module: aci_interface_policy_mcp
|
|||
short_description: Manage MCP interface policies (mcp:IfPol)
|
||||
description:
|
||||
- Manage MCP interface policies on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(mcp:IfPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
mcp:
|
||||
|
@ -48,6 +42,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(mcp:IfPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
# FIXME: Add more, better examples
|
||||
|
@ -167,14 +167,14 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
mcp=dict(type='str', required=False, aliases=['mcp_interface', 'name']), # Not required for querying all objects
|
||||
mcp=dict(type='str', aliases=['mcp_interface', 'name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
admin_state=dict(type='raw'), # Turn into a boolean in v2.9
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
|
|
|
@ -17,12 +17,6 @@ module: aci_interface_policy_ospf
|
|||
short_description: Manage OSPF interface policies (ospf:IfPol)
|
||||
description:
|
||||
- Manage OSPF interface policies on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(ospf:IfPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.7'
|
||||
options:
|
||||
tenant:
|
||||
|
@ -135,6 +129,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(ospf:IfPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -285,15 +285,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
tenant=dict(type='str', required=False, aliases=['tenant_name']), # Not required for querying all objects
|
||||
ospf=dict(type='str', required=False, aliases=['ospf_interface', 'name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
ospf=dict(type='str', aliases=['ospf_interface', 'name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
network_type=dict(type='str', choices=['bcast', 'p2p']),
|
||||
cost=dict(type='int'),
|
||||
|
|
|
@ -16,12 +16,6 @@ module: aci_interface_policy_port_channel
|
|||
short_description: Manage port channel interface policies (lacp:LagPol)
|
||||
description:
|
||||
- Manage port channel interface policies on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(lacp:LagPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
port_channel:
|
||||
|
@ -97,6 +91,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(lacp:LagPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -217,18 +217,18 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
port_channel=dict(type='str', required=False, aliases=['name']), # Not required for querying all objects
|
||||
port_channel=dict(type='str', aliases=['name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
min_links=dict(type='int'),
|
||||
max_links=dict(type='int'),
|
||||
mode=dict(type='str', choices=['off', 'mac-pin', 'active', 'passive', 'mac-pin-nicload']),
|
||||
mode=dict(type='str', choices=['active', 'mac-pin', 'mac-pin-nicload', 'off', 'passive']),
|
||||
fast_select=dict(type='bool'),
|
||||
graceful_convergence=dict(type='bool'),
|
||||
load_defer=dict(type='bool'),
|
||||
|
|
|
@ -16,12 +16,6 @@ module: aci_interface_policy_port_security
|
|||
short_description: Manage port security (l2:PortSecurityPol)
|
||||
description:
|
||||
- Manage port security on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(l2:PortSecurityPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
port_security:
|
||||
|
@ -49,6 +43,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(l2:PortSecurityPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
# FIXME: Add more, better examples
|
||||
|
@ -168,14 +168,14 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
port_security=dict(type='str', required=False, aliases=['name']), # Not required for querying all objects
|
||||
port_security=dict(type='str', aliases=['name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
max_end_points=dict(type='int'),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
|
|
|
@ -17,15 +17,6 @@ module: aci_interface_selector_to_switch_policy_leaf_profile
|
|||
short_description: Bind interface selector profiles to switch policy leaf profiles (infra:RsAccPortP)
|
||||
description:
|
||||
- Bind interface selector profiles to switch policy leaf profiles on Cisco ACI fabrics.
|
||||
notes:
|
||||
- This module requires an existing leaf profile, the module M(aci_switch_policy_leaf_profile) can be used for this.
|
||||
seealso:
|
||||
- module: aci_switch_policy_leaf_profile
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:RsAccPortP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
leaf_profile:
|
||||
|
@ -46,6 +37,15 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- This module requires an existing leaf profile, the module M(aci_switch_policy_leaf_profile) can be used for this.
|
||||
seealso:
|
||||
- module: aci_switch_policy_leaf_profile
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:RsAccPortP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -186,8 +186,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -16,18 +16,6 @@ module: aci_l3out
|
|||
short_description: Manage Layer 3 Outside (L3Out) objects (l3ext:Out)
|
||||
description:
|
||||
- Manage Layer 3 Outside (L3Out) on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) and C(domain) and C(vrf) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) and M(aci_domain) and M(aci_vrf) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_domain
|
||||
- module: aci_vrf
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(l3ext:Out).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Rostyslav Davydenko (@rost-d)
|
||||
version_added: '2.6'
|
||||
options:
|
||||
tenant:
|
||||
|
@ -92,6 +80,18 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) and C(domain) and C(vrf) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) and M(aci_domain) and M(aci_vrf) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_domain
|
||||
- module: aci_vrf
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(l3ext:Out).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Rostyslav Davydenko (@rost-d)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -236,17 +236,17 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
l3out=dict(type='str', aliases=['l3out_name', 'name']),
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
l3out=dict(type='str', aliases=['l3out_name', 'name']), # Not required for querying all objects
|
||||
domain=dict(type='str', aliases=['ext_routed_domain_name', 'routed_domain']),
|
||||
vrf=dict(type='str', aliases=['vrf_name']),
|
||||
tenant=dict(type='str', aliases=['tenant_name']),
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
route_control=dict(type='list', choices=['export', 'import'], aliases=['route_control_enforcement']),
|
||||
dscp=dict(type='str',
|
||||
|
|
|
@ -16,16 +16,6 @@ module: aci_l3out_route_tag_policy
|
|||
short_description: Manage route tag policies (l3ext:RouteTagPol)
|
||||
description:
|
||||
- Manage route tag policies on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(l3ext:RouteTagPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
rtp:
|
||||
|
@ -59,6 +49,16 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(l3ext:RouteTagPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
# FIXME: Add more, better examples
|
||||
|
@ -179,15 +179,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
rtp=dict(type='str', required=False, aliases=['name', 'rtp_name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', required=False, aliases=['tenant_name']), # Not required for quering all objects
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for quering all objects
|
||||
rtp=dict(type='str', aliases=['name', 'rtp_name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
tag=dict(type='int'),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
|
|
|
@ -18,21 +18,6 @@ short_description: Direct access to the Cisco APIC REST API
|
|||
description:
|
||||
- Enables the management of the Cisco ACI fabric through direct access to the Cisco APIC REST API.
|
||||
- Thanks to the idempotent nature of the APIC, this module is idempotent and reports changes.
|
||||
notes:
|
||||
- Certain payloads are known not to be idempotent, so be careful when constructing payloads,
|
||||
e.g. using C(status="created") will cause idempotency issues, use C(status="modified") instead.
|
||||
More information in :ref:`the ACI documentation <aci_guide_known_issues>`.
|
||||
- Certain payloads (and used paths) are known to report no changes happened when changes did happen.
|
||||
This is a known APIC problem and has been reported to the vendor. A workaround for this issue exists.
|
||||
More information in :ref:`the ACI documentation <aci_guide_known_issues>`.
|
||||
- XML payloads require the C(lxml) and C(xmljson) python libraries. For JSON payloads nothing special is needed.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: Cisco APIC REST API Configuration Guide
|
||||
description: More information about the APIC REST API.
|
||||
link: http://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/2-x/rest_cfg/2_1_x/b_Cisco_APIC_REST_API_Configuration_Guide.html
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
requirements:
|
||||
- lxml (when using XML payload)
|
||||
|
@ -72,6 +57,21 @@ options:
|
|||
type: path
|
||||
aliases: [ config_file ]
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- Certain payloads are known not to be idempotent, so be careful when constructing payloads,
|
||||
e.g. using C(status="created") will cause idempotency issues, use C(status="modified") instead.
|
||||
More information in :ref:`the ACI documentation <aci_guide_known_issues>`.
|
||||
- Certain payloads (and used paths) are known to report no changes happened when changes did happen.
|
||||
This is a known APIC problem and has been reported to the vendor. A workaround for this issue exists.
|
||||
More information in :ref:`the ACI documentation <aci_guide_known_issues>`.
|
||||
- XML payloads require the C(lxml) and C(xmljson) python libraries. For JSON payloads nothing special is needed.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: Cisco APIC REST API Configuration Guide
|
||||
description: More information about the APIC REST API.
|
||||
link: http://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/2-x/rest_cfg/2_1_x/b_Cisco_APIC_REST_API_Configuration_Guide.html
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
|
|
@ -17,18 +17,6 @@ module: aci_static_binding_to_epg
|
|||
short_description: Bind static paths to EPGs (fv:RsPathAtt)
|
||||
description:
|
||||
- Bind static paths to EPGs on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant), C(ap), C(epg) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant), M(aci_ap), M(aci_epg) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_ap
|
||||
- module: aci_epg
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:RsPathAtt).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
tenant:
|
||||
|
@ -121,6 +109,18 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant), C(ap), C(epg) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant), M(aci_ap), M(aci_epg) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_ap
|
||||
- module: aci_epg
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:RsPathAtt).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -279,8 +279,25 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
INTERFACE_MODE_MAPPING = {
|
||||
'802.1p': 'native',
|
||||
'access': 'untagged',
|
||||
'native': 'native',
|
||||
'regular': 'regular',
|
||||
'tagged': 'regular',
|
||||
'trunk': 'regular',
|
||||
'untagged': 'untagged',
|
||||
}
|
||||
|
||||
INTERFACE_TYPE_MAPPING = dict(
|
||||
fex='topology/pod-{pod_id}/paths-{leafs}/extpaths-{extpaths}/pathep-[eth{interface}]',
|
||||
port_channel='topology/pod-{pod_id}/paths-{leafs}/pathep-[{interface}]',
|
||||
switch_port='topology/pod-{pod_id}/paths-{leafs}/pathep-[eth{interface}]',
|
||||
vpc='topology/pod-{pod_id}/protpaths-{leafs}/pathep-[{interface}]',
|
||||
)
|
||||
|
||||
# TODO: change 'deploy_immediacy' to 'resolution_immediacy' (as seen in aci_epg_to_domain)?
|
||||
|
||||
|
@ -299,8 +316,8 @@ def main():
|
|||
aliases=['interface_mode_name', 'mode']),
|
||||
interface_type=dict(type='str', default='switch_port', choices=['fex', 'port_channel', 'switch_port', 'vpc']),
|
||||
pod_id=dict(type='int', aliases=['pod', 'pod_number']), # Not required for querying all objects
|
||||
leafs=dict(type='list', aliases=['leaves', 'nodes', 'paths', 'switches']),
|
||||
interface=dict(type='str'),
|
||||
leafs=dict(type='list', aliases=['leaves', 'nodes', 'paths', 'switches']), # Not required for querying all objects
|
||||
interface=dict(type='str'), # Not required for querying all objects
|
||||
extpaths=dict(type='int'),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
@ -333,53 +350,31 @@ def main():
|
|||
# Users are likely to use integers for leaf IDs, which would raise an exception when using the join method
|
||||
leafs.extend(str(leaf).split('-'))
|
||||
if len(leafs) == 1:
|
||||
if interface_type != 'vpc':
|
||||
leafs = leafs[0]
|
||||
else:
|
||||
module.fail_json(msg='A interface_type of "vpc" requires 2 leafs')
|
||||
elif len(leafs) == 2:
|
||||
if interface_type == 'vpc':
|
||||
leafs = "-".join(leafs)
|
||||
else:
|
||||
module.fail_json(msg='A interface_type of "vpc" requires 2 leafs')
|
||||
leafs = leafs[0]
|
||||
elif len(leafs) == 2:
|
||||
if interface_type != 'vpc':
|
||||
module.fail_json(msg='The interface_types "switch_port", "port_channel", and "fex" \
|
||||
do not support using multiple leafs for a single binding')
|
||||
leafs = "-".join(leafs)
|
||||
else:
|
||||
module.fail_json(msg='The "leafs" parameter must not have more than 2 entries')
|
||||
interface = module.params['interface']
|
||||
extpaths = module.params['extpaths']
|
||||
state = module.params['state']
|
||||
static_path = ''
|
||||
|
||||
if encap_id is not None:
|
||||
if encap_id in range(1, 4097):
|
||||
encap_id = 'vlan-{0}'.format(encap_id)
|
||||
else:
|
||||
if encap_id not in range(1, 4097):
|
||||
module.fail_json(msg='Valid VLAN assigments are from 1 to 4096')
|
||||
encap_id = 'vlan-{0}'.format(encap_id)
|
||||
|
||||
if primary_encap_id is not None:
|
||||
if primary_encap_id in range(1, 4097):
|
||||
primary_encap_id = 'vlan-{0}'.format(primary_encap_id)
|
||||
else:
|
||||
if primary_encap_id not in range(1, 4097):
|
||||
module.fail_json(msg='Valid VLAN assigments are from 1 to 4096')
|
||||
primary_encap_id = 'vlan-{0}'.format(primary_encap_id)
|
||||
|
||||
INTERFACE_MODE_MAPPING = {
|
||||
'802.1p': 'native',
|
||||
'access': 'untagged',
|
||||
'native': 'native',
|
||||
'regular': 'regular',
|
||||
'tagged': 'regular',
|
||||
'trunk': 'regular',
|
||||
'untagged': 'untagged',
|
||||
}
|
||||
|
||||
INTERFACE_TYPE_MAPPING = dict(
|
||||
fex='topology/pod-{0}/paths-{1}/extpaths-{2}/pathep-[eth{3}]'.format(pod_id, leafs, extpaths, interface),
|
||||
port_channel='topology/pod-{0}/paths-{1}/pathep-[{2}]'.format(pod_id, leafs, interface),
|
||||
switch_port='topology/pod-{0}/paths-{1}/pathep-[eth{2}]'.format(pod_id, leafs, interface),
|
||||
vpc='topology/pod-{0}/protpaths-{1}/pathep-[{2}]'.format(pod_id, leafs, interface),
|
||||
)
|
||||
|
||||
static_path = INTERFACE_TYPE_MAPPING[interface_type]
|
||||
static_path = INTERFACE_TYPE_MAPPING[interface_type].format(pod_id=pod_id, leafs=leafs, extpaths=extpaths, interface=interface)
|
||||
|
||||
path_target_filter = {}
|
||||
if pod_id is not None and leafs is not None and interface is not None and (interface_type != 'fex' or extpaths is not None):
|
||||
|
|
|
@ -17,17 +17,6 @@ module: aci_switch_leaf_selector
|
|||
short_description: Bind leaf selectors to switch policy leaf profiles (infra:LeafS, infra:NodeBlk, infra:RsAccNodePGrep)
|
||||
description:
|
||||
- Bind leaf selectors (with node block range and policy group) to switch policy leaf profiles on Cisco ACI fabrics.
|
||||
notes:
|
||||
- This module is to be used with M(aci_switch_policy_leaf_profile).
|
||||
One first creates a leaf profile (infra:NodeP) and then creates an associated selector (infra:LeafS),
|
||||
seealso:
|
||||
- module: aci_switch_policy_leaf_profile
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(infra:LeafS),
|
||||
B(infra:NodeBlk) and B(infra:RsAccNodePGrp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
description:
|
||||
|
@ -76,6 +65,17 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- This module is to be used with M(aci_switch_policy_leaf_profile).
|
||||
One first creates a leaf profile (infra:NodeP) and then creates an associated selector (infra:LeafS),
|
||||
seealso:
|
||||
- module: aci_switch_policy_leaf_profile
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(infra:LeafS),
|
||||
B(infra:NodeBlk) and B(infra:RsAccNodePGrp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -233,8 +233,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -17,13 +17,6 @@ module: aci_switch_policy_leaf_profile
|
|||
short_description: Manage switch policy leaf profiles (infra:NodeP)
|
||||
description:
|
||||
- Manage switch policy leaf profiles on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- module: aci_switch_policy_leaf_profile
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:NodeP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
leaf_profile:
|
||||
|
@ -44,6 +37,13 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- module: aci_switch_policy_leaf_profile
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(infra:NodeP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -182,8 +182,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -17,13 +17,6 @@ module: aci_switch_policy_vpc_protection_group
|
|||
short_description: Manage switch policy explicit vPC protection groups (fabric:ExplicitGEp, fabric:NodePEp).
|
||||
description:
|
||||
- Manage switch policy explicit vPC protection groups on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- module: aci_switch_policy_leaf_profile
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(fabric:ExplicitGEp) and B(fabric:NodePEp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
protection_group:
|
||||
|
@ -61,6 +54,13 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- module: aci_switch_policy_leaf_profile
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC classes B(fabric:ExplicitGEp) and B(fabric:NodePEp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Bruno Calogero (@brunocalogero)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -210,8 +210,8 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
@ -17,16 +17,6 @@ module: aci_taboo_contract
|
|||
short_description: Manage taboo contracts (vz:BrCP)
|
||||
description:
|
||||
- Manage taboo contracts on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:BrCP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
taboo_contract:
|
||||
|
@ -60,6 +50,16 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(vz:BrCP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -209,15 +209,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
taboo_contract=dict(type='str', required=False, aliases=['name']), # Not required for querying all contracts
|
||||
tenant=dict(type='str', required=False, aliases=['tenant_name']), # Not required for querying all contracts
|
||||
taboo_contract=dict(type='str', aliases=['name']), # Not required for querying all contracts
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all contracts
|
||||
scope=dict(type='str', choices=['application-profile', 'context', 'global', 'tenant']),
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
|
|
|
@ -16,12 +16,6 @@ module: aci_tenant
|
|||
short_description: Manage tenants (fv:Tenant)
|
||||
description:
|
||||
- Manage tenants on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:Tenant).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
tenant:
|
||||
|
@ -43,6 +37,12 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:Tenant).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -190,14 +190,14 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
tenant=dict(type='str', required=False, aliases=['name', 'tenant_name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', aliases=['name', 'tenant_name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
|
|
@ -16,16 +16,6 @@ module: aci_tenant_action_rule_profile
|
|||
short_description: Manage action rule profiles (rtctrl:AttrP)
|
||||
description:
|
||||
- Manage action rule profiles on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(rtctrl:AttrP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
action_rule:
|
||||
|
@ -51,6 +41,16 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(rtctrl:AttrP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
# FIXME: Add more, better examples
|
||||
|
@ -170,15 +170,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
action_rule=dict(type='str', required=False, aliases=['action_rule_name', 'name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', required=False, aliases=['tenant_name']), # Not required for querying all objects
|
||||
action_rule=dict(type='str', aliases=['action_rule_name', 'name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
|
|
@ -16,16 +16,6 @@ module: aci_tenant_ep_retention_policy
|
|||
short_description: Manage End Point (EP) retention protocol policies (fv:EpRetPol)
|
||||
description:
|
||||
- Manage End Point (EP) retention protocol policies on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:EpRetPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Swetha Chunduri (@schunduri)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
tenant:
|
||||
|
@ -87,11 +77,21 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:EpRetPol).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Swetha Chunduri (@schunduri)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
- name: Add a new EPR policy
|
||||
aci_epr_policy:
|
||||
aci_tenant_ep_retention_policy:
|
||||
host: apic
|
||||
username: admin
|
||||
password: SomeSecretPassword
|
||||
|
@ -107,7 +107,7 @@ EXAMPLES = r'''
|
|||
delegate_to: localhost
|
||||
|
||||
- name: Remove an EPR policy
|
||||
aci_epr_policy:
|
||||
aci_tenant_ep_retention_policy:
|
||||
host: apic
|
||||
username: admin
|
||||
password: SomeSecretPassword
|
||||
|
@ -117,7 +117,7 @@ EXAMPLES = r'''
|
|||
delegate_to: localhost
|
||||
|
||||
- name: Query an EPR policy
|
||||
aci_epr_policy:
|
||||
aci_tenant_ep_retention_policy:
|
||||
host: apic
|
||||
username: admin
|
||||
password: SomeSecretPassword
|
||||
|
@ -128,7 +128,7 @@ EXAMPLES = r'''
|
|||
register: query_result
|
||||
|
||||
- name: Query all EPR policies
|
||||
aci_epr_policy:
|
||||
aci_tenant_ep_retention_policy:
|
||||
host: apic
|
||||
username: admin
|
||||
password: SomeSecretPassword
|
||||
|
@ -242,17 +242,20 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
BOUNCE_TRIG_MAPPING = dict(coop='protocol', rarp='rarp-flood')
|
||||
BOUNCE_TRIG_MAPPING = dict(
|
||||
coop='protocol',
|
||||
rarp='rarp-flood',
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
epr_policy=dict(type='str', aliases=['epr_name', 'name']),
|
||||
epr_policy=dict(type='str', aliases=['epr_name', 'name']), # Not required for querying all objects
|
||||
bounce_age=dict(type='int'),
|
||||
bounce_trigger=dict(type='str', choices=['coop', 'flood']),
|
||||
hold_interval=dict(type='int'),
|
||||
|
|
|
@ -16,16 +16,6 @@ module: aci_tenant_span_dst_group
|
|||
short_description: Manage SPAN destination groups (span:DestGrp)
|
||||
description:
|
||||
- Manage SPAN destination groups on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(span:DestGrp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
dst_group:
|
||||
|
@ -53,6 +43,16 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(span:DestGrp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
# FIXME: Add more, better examples
|
||||
|
@ -172,15 +172,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
dst_group=dict(type='str', required=False, aliases=['name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', required=False, aliases=['tenant_name']), # Not required for querying all objects
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
dst_group=dict(type='str', aliases=['name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
|
|
@ -16,16 +16,6 @@ module: aci_tenant_span_src_group
|
|||
short_description: Manage SPAN source groups (span:SrcGrp)
|
||||
description:
|
||||
- Manage SPAN source groups on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(span:SrcGrp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
admin_state:
|
||||
|
@ -60,6 +50,16 @@ options:
|
|||
type: str
|
||||
aliases: [ tenant_name ]
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(span:SrcGrp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -180,19 +180,19 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
src_group=dict(type='str', aliases=['name']), # Not required for querying all objects
|
||||
admin_state=dict(type='raw'), # Turn into a boolean in v2.9
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
dst_group=dict(type='str'),
|
||||
src_group=dict(type='str', required=False, aliases=['name']), # Not required for querying all objects
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
tenant=dict(type='str', required=False, aliases=['tenant_name']), # Not required for querying all objects
|
||||
)
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -16,18 +16,6 @@ module: aci_tenant_span_src_group_to_dst_group
|
|||
short_description: Bind SPAN source groups to destination groups (span:SpanLbl)
|
||||
description:
|
||||
- Bind SPAN source groups to associated destinaton groups on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(tenant), C(src_group), and C(dst_group) must exist before using this module in your playbook.
|
||||
The M(aci_tenant), M(aci_tenant_span_src_group), and M(aci_tenant_span_dst_group) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_tenant_span_src_group
|
||||
- module: aci_tenant_span_dst_group
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(span:SrcGrp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
description:
|
||||
|
@ -56,6 +44,18 @@ options:
|
|||
type: str
|
||||
aliases: [ tenant_name ]
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant), C(src_group), and C(dst_group) must exist before using this module in your playbook.
|
||||
The M(aci_tenant), M(aci_tenant_span_src_group), and M(aci_tenant_span_dst_group) modules can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- module: aci_tenant_span_src_group
|
||||
- module: aci_tenant_span_dst_group
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(span:SrcGrp).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -175,18 +175,18 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
dst_group=dict(type='str'), # Not required for querying all objects
|
||||
src_group=dict(type='str'), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
)
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -18,13 +18,6 @@ module: aci_vlan_pool
|
|||
short_description: Manage VLAN pools (fvns:VlanInstP)
|
||||
description:
|
||||
- Manage VLAN pools on Cisco ACI fabrics.
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fvns:VlanInstP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
pool_allocation_mode:
|
||||
|
@ -51,6 +44,13 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
seealso:
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fvns:VlanInstP).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -201,15 +201,15 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
pool=dict(type='str', aliases=['name', 'pool_name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
pool_allocation_mode=dict(type='str', aliases=['allocation_mode', 'mode'], choices=['dynamic', 'static']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
|
|
@ -18,16 +18,6 @@ module: aci_vlan_pool_encap_block
|
|||
short_description: Manage encap blocks assigned to VLAN pools (fvns:EncapBlk)
|
||||
description:
|
||||
- Manage VLAN encap blocks that are assigned to VLAN pools on Cisco ACI fabrics.
|
||||
notes:
|
||||
- The C(pool) must exist in order to add or delete a encap block.
|
||||
seealso:
|
||||
- module: aci_vlan_pool
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fvns:EncapBlk).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
- Dag Wieers (@dagwieers)
|
||||
version_added: '2.5'
|
||||
options:
|
||||
allocation_mode:
|
||||
|
@ -75,6 +65,16 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(pool) must exist in order to add or delete a encap block.
|
||||
seealso:
|
||||
- module: aci_vlan_pool
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fvns:EncapBlk).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
- Dag Wieers (@dagwieers)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -237,20 +237,20 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
allocation_mode=dict(type='str', aliases=['mode'], choices=['dynamic', 'inherit', 'static']),
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
pool=dict(type='str', aliases=['pool_name']), # Not required for querying all objects
|
||||
pool_allocation_mode=dict(type='str', aliases=['pool_mode'], choices=['dynamic', 'static']),
|
||||
block_name=dict(type='str', aliases=['name']), # Not required for querying all objects
|
||||
block_end=dict(type='int', aliases=['end']), # Not required for querying all objects
|
||||
block_start=dict(type='int', aliases=["start"]), # Not required for querying all objects
|
||||
allocation_mode=dict(type='str', aliases=['mode'], choices=['dynamic', 'inherit', 'static']),
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
pool_allocation_mode=dict(type='str', aliases=['pool_mode'], choices=['dynamic', 'static']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
||||
|
|
|
@ -17,16 +17,6 @@ short_description: Manage contexts or VRFs (fv:Ctx)
|
|||
description:
|
||||
- Manage contexts or VRFs on Cisco ACI fabrics.
|
||||
- Each context is a private network associated to a tenant, i.e. VRF.
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:Ctx).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
version_added: '2.4'
|
||||
options:
|
||||
tenant:
|
||||
|
@ -62,6 +52,16 @@ options:
|
|||
choices: [ absent, present, query ]
|
||||
default: present
|
||||
extends_documentation_fragment: aci
|
||||
notes:
|
||||
- The C(tenant) used must exist before using this module in your playbook.
|
||||
The M(aci_tenant) module can be used for this.
|
||||
seealso:
|
||||
- module: aci_tenant
|
||||
- name: APIC Management Information Model reference
|
||||
description: More information about the internal APIC class B(fv:Ctx).
|
||||
link: https://developer.cisco.com/docs/apic-mim-ref/
|
||||
author:
|
||||
- Jacob McGill (@jmcgill298)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
@ -214,19 +214,19 @@ url:
|
|||
sample: https://10.11.12.13/api/mo/uni/tn-production.json
|
||||
'''
|
||||
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.network.aci.aci import ACIModule, aci_argument_spec
|
||||
|
||||
|
||||
def main():
|
||||
argument_spec = aci_argument_spec()
|
||||
argument_spec.update(
|
||||
tenant=dict(type='str', aliases=['tenant_name']), # Not required for querying all objects
|
||||
vrf=dict(type='str', aliases=['context', 'name', 'vrf_name']), # Not required for querying all objects
|
||||
description=dict(type='str', aliases=['descr']),
|
||||
policy_control_direction=dict(choices=['ingress', 'egress'], type='str'),
|
||||
policy_control_preference=dict(choices=['enforced', 'unenforced'], type='str'),
|
||||
state=dict(choices=['absent', 'present', 'query'], type='str', default='present'),
|
||||
tenant=dict(type='str', required=False, aliases=['tenant_name']), # Not required for querying all objects
|
||||
vrf=dict(type='str', required=False, aliases=['context', 'name', 'vrf_name']), # Not required for querying all objects
|
||||
policy_control_direction=dict(type='str', choices=['egress', 'ingress']),
|
||||
policy_control_preference=dict(type='str', choices=['enforced', 'unenforced']),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present', 'query']),
|
||||
)
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -168,7 +168,7 @@
|
|||
- name: missing required param - error message works
|
||||
aci_encap_pool_range:
|
||||
<<: *aci_range_present
|
||||
pool_type: "{{ fake_var | default(omit) }}"
|
||||
pool_type: '{{ omit }}'
|
||||
ignore_errors: yes
|
||||
register: range_present_pool_type
|
||||
|
||||
|
@ -193,7 +193,7 @@
|
|||
- name: missing required param - error message works
|
||||
aci_encap_pool_range:
|
||||
<<: *aci_range_present
|
||||
pool_allocation_mode: "{{ fake_var | default(omit) }}"
|
||||
pool_allocation_mode: '{{ omit }}'
|
||||
ignore_errors: yes
|
||||
register: range_present_allocation
|
||||
|
||||
|
@ -220,7 +220,7 @@
|
|||
- name: query vlan pool range - from, to, and name are filtered
|
||||
aci_encap_pool_range: &aci_range_query_filter
|
||||
<<: *aci_range_query
|
||||
pool: "{{ fake_var | default(omit) }}"
|
||||
pool: '{{ omit }}'
|
||||
register: range_query_from_to_name
|
||||
|
||||
- name: query assertions
|
||||
|
@ -238,7 +238,7 @@
|
|||
- name: query vlan pool range - from and name are filtered
|
||||
aci_encap_pool_range:
|
||||
<<: *aci_range_query_filter
|
||||
range_end: "{{ fake_var | default(omit) }}"
|
||||
range_end: '{{ omit }}'
|
||||
register: range_query_from_name
|
||||
|
||||
- name: query assertions
|
||||
|
@ -254,7 +254,7 @@
|
|||
- name: query vlan pool range - to and name are filtered
|
||||
aci_encap_pool_range:
|
||||
<<: *aci_range_query_filter
|
||||
range_start: "{{ fake_var | default(omit) }}"
|
||||
range_start: '{{ omit }}'
|
||||
register: range_query_to_name
|
||||
|
||||
- name: query assertions
|
||||
|
@ -270,8 +270,8 @@
|
|||
- name: query vlan pool range - name is filtered
|
||||
aci_encap_pool_range:
|
||||
<<: *aci_range_query_filter
|
||||
range_start: "{{ fake_var | default(omit) }}"
|
||||
range_end: "{{ fake_var | default(omit) }}"
|
||||
range_start: '{{ omit) }}'
|
||||
range_end: '{{ omit }}'
|
||||
register: range_query_name
|
||||
|
||||
- name: query assertions
|
||||
|
@ -285,7 +285,7 @@
|
|||
- name: query vlan pool range - from and to are filtered
|
||||
aci_encap_pool_range:
|
||||
<<: *aci_range_query_filter
|
||||
range_name: "{{ fake_var | default(omit) }}"
|
||||
range_name: '{{ omit }}'
|
||||
register: range_query_from_to
|
||||
|
||||
- name: query assertions
|
||||
|
@ -317,7 +317,7 @@
|
|||
aci_encap_pool_range:
|
||||
<<: *aci_pool_present
|
||||
state: query
|
||||
pool: "{{ fake_var | default(omit) }}"
|
||||
pool: '{{ omit }}'
|
||||
register: range_query_all
|
||||
|
||||
- name: query assertions
|
||||
|
|
Loading…
Reference in a new issue