netascode / terraform-fmc-nac-fmc

Terraform Cisco FMC Network-as-Code Module

Home Page:https://registry.terraform.io/modules/netascode/nac-fmc/fmc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Optional

The default number of supported Access Rules and Manual Nat Rules is 100. To change it, please visit: templates

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:
  name: MyFMC1
  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.1.0"

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

Requirements

Name Version
terraform >= 1.3.0
fmc >= 1.4.8
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.

Resources

Name Type
fmc_access_policies.accesspolicy resource
fmc_access_policies_category.accesspolicy_category resource
fmc_access_rules.access_rule_0 resource
fmc_access_rules.access_rule_1 resource
fmc_access_rules.access_rule_10 resource
fmc_access_rules.access_rule_11 resource
fmc_access_rules.access_rule_12 resource
fmc_access_rules.access_rule_13 resource
fmc_access_rules.access_rule_14 resource
fmc_access_rules.access_rule_15 resource
fmc_access_rules.access_rule_16 resource
fmc_access_rules.access_rule_17 resource
fmc_access_rules.access_rule_18 resource
fmc_access_rules.access_rule_19 resource
fmc_access_rules.access_rule_2 resource
fmc_access_rules.access_rule_20 resource
fmc_access_rules.access_rule_21 resource
fmc_access_rules.access_rule_22 resource
fmc_access_rules.access_rule_23 resource
fmc_access_rules.access_rule_24 resource
fmc_access_rules.access_rule_25 resource
fmc_access_rules.access_rule_26 resource
fmc_access_rules.access_rule_27 resource
fmc_access_rules.access_rule_28 resource
fmc_access_rules.access_rule_29 resource
fmc_access_rules.access_rule_3 resource
fmc_access_rules.access_rule_30 resource
fmc_access_rules.access_rule_31 resource
fmc_access_rules.access_rule_32 resource
fmc_access_rules.access_rule_33 resource
fmc_access_rules.access_rule_34 resource
fmc_access_rules.access_rule_35 resource
fmc_access_rules.access_rule_36 resource
fmc_access_rules.access_rule_37 resource
fmc_access_rules.access_rule_38 resource
fmc_access_rules.access_rule_39 resource
fmc_access_rules.access_rule_4 resource
fmc_access_rules.access_rule_40 resource
fmc_access_rules.access_rule_41 resource
fmc_access_rules.access_rule_42 resource
fmc_access_rules.access_rule_43 resource
fmc_access_rules.access_rule_44 resource
fmc_access_rules.access_rule_45 resource
fmc_access_rules.access_rule_46 resource
fmc_access_rules.access_rule_47 resource
fmc_access_rules.access_rule_48 resource
fmc_access_rules.access_rule_49 resource
fmc_access_rules.access_rule_5 resource
fmc_access_rules.access_rule_50 resource
fmc_access_rules.access_rule_51 resource
fmc_access_rules.access_rule_52 resource
fmc_access_rules.access_rule_53 resource
fmc_access_rules.access_rule_54 resource
fmc_access_rules.access_rule_55 resource
fmc_access_rules.access_rule_56 resource
fmc_access_rules.access_rule_57 resource
fmc_access_rules.access_rule_58 resource
fmc_access_rules.access_rule_59 resource
fmc_access_rules.access_rule_6 resource
fmc_access_rules.access_rule_60 resource
fmc_access_rules.access_rule_61 resource
fmc_access_rules.access_rule_62 resource
fmc_access_rules.access_rule_63 resource
fmc_access_rules.access_rule_64 resource
fmc_access_rules.access_rule_65 resource
fmc_access_rules.access_rule_66 resource
fmc_access_rules.access_rule_67 resource
fmc_access_rules.access_rule_68 resource
fmc_access_rules.access_rule_69 resource
fmc_access_rules.access_rule_7 resource
fmc_access_rules.access_rule_70 resource
fmc_access_rules.access_rule_71 resource
fmc_access_rules.access_rule_72 resource
fmc_access_rules.access_rule_73 resource
fmc_access_rules.access_rule_74 resource
fmc_access_rules.access_rule_75 resource
fmc_access_rules.access_rule_76 resource
fmc_access_rules.access_rule_77 resource
fmc_access_rules.access_rule_78 resource
fmc_access_rules.access_rule_79 resource
fmc_access_rules.access_rule_8 resource
fmc_access_rules.access_rule_80 resource
fmc_access_rules.access_rule_81 resource
fmc_access_rules.access_rule_82 resource
fmc_access_rules.access_rule_83 resource
fmc_access_rules.access_rule_84 resource
fmc_access_rules.access_rule_85 resource
fmc_access_rules.access_rule_86 resource
fmc_access_rules.access_rule_87 resource
fmc_access_rules.access_rule_88 resource
fmc_access_rules.access_rule_89 resource
fmc_access_rules.access_rule_9 resource
fmc_access_rules.access_rule_90 resource
fmc_access_rules.access_rule_91 resource
fmc_access_rules.access_rule_92 resource
fmc_access_rules.access_rule_93 resource
fmc_access_rules.access_rule_94 resource
fmc_access_rules.access_rule_95 resource
fmc_access_rules.access_rule_96 resource
fmc_access_rules.access_rule_97 resource
fmc_access_rules.access_rule_98 resource
fmc_access_rules.access_rule_99 resource
fmc_device_cluster.cluster resource
fmc_device_physical_interfaces.physical_interface resource
fmc_device_subinterfaces.sub_interfaces resource
fmc_devices.device resource
fmc_dynamic_objects.dynamicobject resource
fmc_fqdn_objects.fqdn resource
fmc_ftd_autonat_rules.ftdautonatrule resource
fmc_ftd_deploy.ftd resource
fmc_ftd_manualnat_rules.manualnat_rules_0 resource
fmc_ftd_manualnat_rules.manualnat_rules_1 resource
fmc_ftd_manualnat_rules.manualnat_rules_10 resource
fmc_ftd_manualnat_rules.manualnat_rules_11 resource
fmc_ftd_manualnat_rules.manualnat_rules_12 resource
fmc_ftd_manualnat_rules.manualnat_rules_13 resource
fmc_ftd_manualnat_rules.manualnat_rules_14 resource
fmc_ftd_manualnat_rules.manualnat_rules_15 resource
fmc_ftd_manualnat_rules.manualnat_rules_16 resource
fmc_ftd_manualnat_rules.manualnat_rules_17 resource
fmc_ftd_manualnat_rules.manualnat_rules_18 resource
fmc_ftd_manualnat_rules.manualnat_rules_19 resource
fmc_ftd_manualnat_rules.manualnat_rules_2 resource
fmc_ftd_manualnat_rules.manualnat_rules_20 resource
fmc_ftd_manualnat_rules.manualnat_rules_21 resource
fmc_ftd_manualnat_rules.manualnat_rules_22 resource
fmc_ftd_manualnat_rules.manualnat_rules_23 resource
fmc_ftd_manualnat_rules.manualnat_rules_24 resource
fmc_ftd_manualnat_rules.manualnat_rules_25 resource
fmc_ftd_manualnat_rules.manualnat_rules_26 resource
fmc_ftd_manualnat_rules.manualnat_rules_27 resource
fmc_ftd_manualnat_rules.manualnat_rules_28 resource
fmc_ftd_manualnat_rules.manualnat_rules_29 resource
fmc_ftd_manualnat_rules.manualnat_rules_3 resource
fmc_ftd_manualnat_rules.manualnat_rules_30 resource
fmc_ftd_manualnat_rules.manualnat_rules_31 resource
fmc_ftd_manualnat_rules.manualnat_rules_32 resource
fmc_ftd_manualnat_rules.manualnat_rules_33 resource
fmc_ftd_manualnat_rules.manualnat_rules_34 resource
fmc_ftd_manualnat_rules.manualnat_rules_35 resource
fmc_ftd_manualnat_rules.manualnat_rules_36 resource
fmc_ftd_manualnat_rules.manualnat_rules_37 resource
fmc_ftd_manualnat_rules.manualnat_rules_38 resource
fmc_ftd_manualnat_rules.manualnat_rules_39 resource
fmc_ftd_manualnat_rules.manualnat_rules_4 resource
fmc_ftd_manualnat_rules.manualnat_rules_40 resource
fmc_ftd_manualnat_rules.manualnat_rules_41 resource
fmc_ftd_manualnat_rules.manualnat_rules_42 resource
fmc_ftd_manualnat_rules.manualnat_rules_43 resource
fmc_ftd_manualnat_rules.manualnat_rules_44 resource
fmc_ftd_manualnat_rules.manualnat_rules_45 resource
fmc_ftd_manualnat_rules.manualnat_rules_46 resource
fmc_ftd_manualnat_rules.manualnat_rules_47 resource
fmc_ftd_manualnat_rules.manualnat_rules_48 resource
fmc_ftd_manualnat_rules.manualnat_rules_49 resource
fmc_ftd_manualnat_rules.manualnat_rules_5 resource
fmc_ftd_manualnat_rules.manualnat_rules_50 resource
fmc_ftd_manualnat_rules.manualnat_rules_51 resource
fmc_ftd_manualnat_rules.manualnat_rules_52 resource
fmc_ftd_manualnat_rules.manualnat_rules_53 resource
fmc_ftd_manualnat_rules.manualnat_rules_54 resource
fmc_ftd_manualnat_rules.manualnat_rules_55 resource
fmc_ftd_manualnat_rules.manualnat_rules_56 resource
fmc_ftd_manualnat_rules.manualnat_rules_57 resource
fmc_ftd_manualnat_rules.manualnat_rules_58 resource
fmc_ftd_manualnat_rules.manualnat_rules_59 resource
fmc_ftd_manualnat_rules.manualnat_rules_6 resource
fmc_ftd_manualnat_rules.manualnat_rules_60 resource
fmc_ftd_manualnat_rules.manualnat_rules_61 resource
fmc_ftd_manualnat_rules.manualnat_rules_62 resource
fmc_ftd_manualnat_rules.manualnat_rules_63 resource
fmc_ftd_manualnat_rules.manualnat_rules_64 resource
fmc_ftd_manualnat_rules.manualnat_rules_65 resource
fmc_ftd_manualnat_rules.manualnat_rules_66 resource
fmc_ftd_manualnat_rules.manualnat_rules_67 resource
fmc_ftd_manualnat_rules.manualnat_rules_68 resource
fmc_ftd_manualnat_rules.manualnat_rules_69 resource
fmc_ftd_manualnat_rules.manualnat_rules_7 resource
fmc_ftd_manualnat_rules.manualnat_rules_70 resource
fmc_ftd_manualnat_rules.manualnat_rules_71 resource
fmc_ftd_manualnat_rules.manualnat_rules_72 resource
fmc_ftd_manualnat_rules.manualnat_rules_73 resource
fmc_ftd_manualnat_rules.manualnat_rules_74 resource
fmc_ftd_manualnat_rules.manualnat_rules_75 resource
fmc_ftd_manualnat_rules.manualnat_rules_76 resource
fmc_ftd_manualnat_rules.manualnat_rules_77 resource
fmc_ftd_manualnat_rules.manualnat_rules_78 resource
fmc_ftd_manualnat_rules.manualnat_rules_79 resource
fmc_ftd_manualnat_rules.manualnat_rules_8 resource
fmc_ftd_manualnat_rules.manualnat_rules_80 resource
fmc_ftd_manualnat_rules.manualnat_rules_81 resource
fmc_ftd_manualnat_rules.manualnat_rules_82 resource
fmc_ftd_manualnat_rules.manualnat_rules_83 resource
fmc_ftd_manualnat_rules.manualnat_rules_84 resource
fmc_ftd_manualnat_rules.manualnat_rules_85 resource
fmc_ftd_manualnat_rules.manualnat_rules_86 resource
fmc_ftd_manualnat_rules.manualnat_rules_87 resource
fmc_ftd_manualnat_rules.manualnat_rules_88 resource
fmc_ftd_manualnat_rules.manualnat_rules_89 resource
fmc_ftd_manualnat_rules.manualnat_rules_9 resource
fmc_ftd_manualnat_rules.manualnat_rules_90 resource
fmc_ftd_manualnat_rules.manualnat_rules_91 resource
fmc_ftd_manualnat_rules.manualnat_rules_92 resource
fmc_ftd_manualnat_rules.manualnat_rules_93 resource
fmc_ftd_manualnat_rules.manualnat_rules_94 resource
fmc_ftd_manualnat_rules.manualnat_rules_95 resource
fmc_ftd_manualnat_rules.manualnat_rules_96 resource
fmc_ftd_manualnat_rules.manualnat_rules_97 resource
fmc_ftd_manualnat_rules.manualnat_rules_98 resource
fmc_ftd_manualnat_rules.manualnat_rules_99 resource
fmc_ftd_nat_policies.ftdnatpolicy resource
fmc_host_objects.host resource
fmc_icmpv4_objects.icmpv4 resource
fmc_ips_policies.ips_policy resource
fmc_network_group_objects.networkgroup_l1 resource
fmc_network_group_objects.networkgroup_l2 resource
fmc_network_group_objects.networkgroup_l3 resource
fmc_network_group_objects.networkgroup_l4 resource
fmc_network_group_objects.networkgroup_l5 resource
fmc_network_objects.network resource
fmc_policy_devices_assignments.access_policy_assignment resource
fmc_policy_devices_assignments.nat_policy_assignment resource
fmc_port_group_objects.portgroup resource
fmc_port_objects.port resource
fmc_prefilter_policy.prefilterpolicy resource
fmc_range_objects.range resource
fmc_security_zone.securityzone resource
fmc_sgt_objects.sgt resource
fmc_smart_license.license resource
fmc_staticIPv4_route.ipv4staticroute resource
fmc_url_object_group.urlgroup resource
fmc_url_objects.url resource
local_sensitive_file.defaults resource
fmc_access_policies.accesspolicy data source
fmc_device_physical_interfaces.physical_interface data source
fmc_device_subinterfaces.sub_interfaces data source
fmc_devices.device data source
fmc_dynamic_objects.dynamicobject data source
fmc_ftd_nat_policies.ftdnatpolicy data source
fmc_host_objects.host data source
fmc_ips_policies.ips_policy data source
fmc_network_group_objects.networkgroup data source
fmc_network_objects.network data source
fmc_port_group_objects.portgroup data source
fmc_port_objects.port data source
fmc_security_zones.securityzone data source
fmc_sgt_objects.sgt data source
fmc_url_objects.url data source
utils_yaml_merge.defaults data source
utils_yaml_merge.model data source

Modules

No modules.

About

Terraform Cisco FMC Network-as-Code Module

https://registry.terraform.io/modules/netascode/nac-fmc/fmc

License:Apache License 2.0


Languages

Language:HCL 100.0%