Skip to content

netascode/terraform-fmc-nac-fmc

Terraform Network-as-Code Cisco FMC Module

A Terraform module to configure Cisco FMC.

Usage

This module supports an inventory driven approach, where a complete FMC configuration or parts of it are either modeled in one or more YAML files or natively using Terraform variables.

Examples

Configuring a Network-group Object using YAML:

data/existing.yaml

---
existing:
  fmc:
    domains:
      - name: Global
        objects:
          networks:
            - name: any-ipv4

data/fmc.yaml

---
fmc:
  domains:
    - name: Global
      objects:
        hosts:
          - name: MyHost1
            ip: 10.10.10.10
          - name: MyHost2
            ip: 20.20.20.20
        network_groups:
          - name: MyNetworkGroup1
            objects:
              - MyHost1
              - any-ipv4
          - name: MyNetworkGroup2
            objects:
              - MyNetworkGroup1
              - MyHost2

main.tf

module "fmc" {
  source  = "netascode/nac-fmc/fmc"
  version = "0.0.1"

  yaml_files = ["fmc.yaml", "existing.yaml"]
}

Requirements

Name Version
terraform >=1.5.7
fmc 2.0.0-beta1
local >=2.3.0
utils >=0.2.5

Inputs

Name Description Type Default Required
manage_deployment Enables support for FTD deployments bool true no
model As an alternative to YAML files, a native Terraform data structure can be provided as well. map(any) {} no
write_default_values_file Write all default values to a YAML file. Value is a path pointing to the file to be created. string "" no
yaml_directories List of paths to YAML directories. list(string)
[
"data"
]
no
yaml_files List of paths to YAML files. list(string) [] no

Outputs

Name Description
default_values All default values.
model Full model.

Providers

Name Version
fmc 2.0.0-beta1
local >=2.3.0
utils >=0.2.5

Resources

Name Type
fmc_access_control_policy.module resource
fmc_bfd_template.module resource
fmc_device.module resource
fmc_device_bfd.module resource
fmc_device_bgp.module resource
fmc_device_bgp_general_settings.module resource
fmc_device_cluster.module resource
fmc_device_deploy.module resource
fmc_device_etherchannel_interface.module resource
fmc_device_ha_pair.module resource
fmc_device_ha_pair_monitoring.module resource
fmc_device_ipv4_static_route.module resource
fmc_device_physical_interface.module resource
fmc_device_subinterface.module resource
fmc_device_vrf.module resource
fmc_device_vrf_ipv4_static_route.module resource
fmc_dynamic_objects.module resource
fmc_extended_acl.module resource
fmc_file_policy.module resource
fmc_fqdn_objects.module resource
fmc_ftd_nat_policy.module resource
fmc_hosts.module resource
fmc_icmpv4_objects.module resource
fmc_intrusion_policy.module resource
fmc_network_groups.module resource
fmc_networks.module resource
fmc_policy_assignment.access_control_policy resource
fmc_port_groups.module resource
fmc_ports.module resource
fmc_prefilter_policy.module resource
fmc_ranges.module resource
fmc_security_zones.module resource
fmc_sgts.module resource
fmc_smart_license.module resource
fmc_standard_acl.module resource
fmc_time_ranges.module resource
fmc_tunnel_zones.module resource
fmc_url_groups.module resource
fmc_urls.module resource
fmc_vlan_tag_groups.module resource
fmc_vlan_tags.module resource
local_sensitive_file.defaults resource
fmc_access_control_policy.module data source
fmc_bfd_template.module data source
fmc_device.module data source
fmc_device_bfd.module data source
fmc_device_bgp_general_settings.module data source
fmc_device_cluster.module data source
fmc_device_etherchannel_interface.module data source
fmc_device_ha_pair.module data source
fmc_device_physical_interface.module data source
fmc_device_subinterface.module data source
fmc_device_vrf.module data source
fmc_dynamic_objects.module data source
fmc_extended_acl.module data source
fmc_file_categories.module data source
fmc_file_policy.module data source
fmc_file_types.module data source
fmc_fqdn_objects.module data source
fmc_ftd_nat_policy.module data source
fmc_hosts.module data source
fmc_icmpv4_objects.module data source
fmc_intrusion_policy.module data source
fmc_networks.module data source
fmc_port_groups.module data source
fmc_ports.module data source
fmc_prefilter_policy.module data source
fmc_ranges.module data source
fmc_security_zones.module data source
fmc_sgts.module data source
fmc_snmp_alerts.module data source
fmc_standard_acl.module data source
fmc_syslog_alerts.module data source
fmc_time_ranges.module data source
fmc_tunnel_zones.module data source
fmc_url_groups.module data source
fmc_urls.module data source
fmc_variable_set.module data source
fmc_vlan_tag_groups.module data source
fmc_vlan_tags.module data source
utils_yaml_merge.defaults data source
utils_yaml_merge.model data source

Modules

No modules.