aci_epg_to_contract - Bind EPGs to Contracts (fv:RsCons, fv:RsProv)
New in version 2.4.
Synopsis
- Bind EPGs to Contracts on Cisco ACI fabrics.
Parameters
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| ap | Name of an existing application network profile, that will contain the EPGs. aliases: app_profile, app_profile_name | |
| certificate_name | The X.509 certificate name attached to the APIC AAA user used for signature-based authentication. It defaults to the private_key basename, without extension.aliases: cert_name | |
| contract | The name of the contract. aliases: contract_name | |
| contract_type required |
| Determines if the EPG should Provide or Consume the Contract. |
| epg | The name of the end point group. aliases: epg_name | |
| host required | IP Address or hostname of APIC resolvable by Ansible control host. aliases: hostname | |
| output_level |
| Influence the output of this ACI module. normal means the standard output, incl. current dictinfo adds informational output, incl. previous, proposed and sent dictsdebug adds debugging output, incl. filter_string, method, response, status and url information |
| password required | The password to use for authentication. This option is mutual exclusive with private_key. If private_key is provided too, it will be used instead. | |
| port | Port number to be used for REST connection. The default value depends on parameter `use_ssl`. | |
| priority |
| QoS class. The APIC defaults to unspecified when unset during creation. |
| private_key required | PEM formatted file that contains your private key to be used for signature-based authentication. The name of the key (without extension) is used as the certificate name in ACI, unless certificate_name is specified.This option is mutual exclusive with password. If password is provided too, it will be ignored.aliases: cert_key | |
| provider_match |
| The matching algorithm for Provided Contracts. The APIC defaults to at_least_one when unset during creation. |
| state |
| Use present or absent for adding or removing.Use query for listing an object or multiple objects. |
| tenant | Name of an existing tenant. aliases: tenant_name | |
| timeout int | Default: 30 | The socket level timeout in seconds. |
| use_proxy bool |
| If no, it will not use a proxy, even if one is defined in an environment variable on the target hosts. |
| use_ssl bool |
| If no, an HTTP connection will be used instead of the default HTTPS connection. |
| username | Default: "admin" | The username to use for authentication. aliases: user |
| validate_certs bool |
| If no, SSL certificates will not be validated.This should only set to no when used on personally controlled sites using self-signed certificates. |
Notes
Note
- The
tenant,app_profile,EPG, andContractused must exist before using this module in your playbook. The aci_tenant, aci_ap, aci_epg, and aci_contract modules can be used for this. - More information about the internal APIC classes fv:RsCons and fv:RsProv from the APIC Management Information Model reference.
- Please read the Cisco ACI Guide for more detailed information on how to manage your ACI infrastructure using Ansible.
Examples
- name: Add a new contract to EPG binding
aci_epg_to_contract:
host: apic
username: admin
password: SomeSecretPassword
tenant: anstest
ap: anstest
epg: anstest
contract: anstest_http
contract_type: provider
state: present
- name: Remove an existing contract to EPG binding
aci_epg_to_contract:
host: apic
username: admin
password: SomeSecretPassword
tenant: anstest
ap: anstest
epg: anstest
contract: anstest_http
contract_type: provider
state: absent
- name: Query a specific contract to EPG binding
aci_epg_to_contract:
host: apic
username: admin
password: SomeSecretPassword
tenant: anstest
ap: anstest
epg: anstest
contract: anstest_http
contract_type: provider
state: query
- name: Query all provider contract to EPG bindings
aci_epg_to_contract:
host: apic
username: admin
password: SomeSecretPassword
contract_type: provider
state: query
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| current list | success | The existing configuration from the APIC after the module has finished Sample: [{'fvTenant': {'attributes': {'descr': 'Production environment', 'dn': 'uni/tn-production', 'name': 'production', 'nameAlias': '', 'ownerKey': '', 'ownerTag': ''}}}] |
| error dict | failure | The error information as returned from the APIC Sample: {'code': '122', 'text': 'unknown managed object class foo'} |
| filter_string string | failure or debug | The filter string used for the request Sample: ?rsp-prop-include=config-only |
| method string | failure or debug | The HTTP method used for the request to the APIC Sample: POST |
| previous list | info | The original configuration from the APIC before the module has started Sample: [{'fvTenant': {'attributes': {'descr': 'Production', 'dn': 'uni/tn-production', 'name': 'production', 'nameAlias': '', 'ownerKey': '', 'ownerTag': ''}}}] |
| proposed dict | info | The assembled configuration from the user-provided parameters Sample: {'fvTenant': {'attributes': {'descr': 'Production environment', 'name': 'production'}}} |
| raw string | parse error | The raw output returned by the APIC REST API (xml or json) Sample: <?xml version="1.0" encoding="UTF-8"?><imdata totalCount="1"><error code="122" text="unknown managed object class foo"/></imdata> |
| response string | failure or debug | The HTTP response from the APIC Sample: OK (30 bytes) |
| sent list | info | The actual/minimal configuration pushed to the APIC Sample: {'fvTenant': {'attributes': {'descr': 'Production environment'}}} |
| status int | failure or debug | The HTTP status from the APIC Sample: 200 |
| url string | failure or debug | The HTTP url used for the request to the APIC Sample: https://10.11.12.13/api/mo/uni/tn-production.json |
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author
- Jacob McGill (@jmcgill298)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/aci_epg_to_contract_module.html