### Install Golang Color Package Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/fatih/color/README.md Use 'go get' to install the color package. This is the initial setup step. ```bash go get github.com/fatih/color ``` -------------------------------- ### Install go-version Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/hashicorp/go-version/README.md Install the go-version library using the standard go get command. ```bash $ go get github.com/hashicorp/go-version ``` -------------------------------- ### Install copystructure Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/mitchellh/copystructure/README.md Use standard go get to install the copystructure library. ```bash go get github.com/mitchellh/copystructure ``` -------------------------------- ### Install go-colorable Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/mattn/go-colorable/README.md Use go get to install the go-colorable package into your project. ```bash go get github.com/mattn/go-colorable ``` -------------------------------- ### Install go-isatty Package Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/mattn/go-isatty/README.md Install the go-isatty package using the go get command. ```bash go get github.com/mattn/go-isatty ``` -------------------------------- ### Successful Installation Output Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/hashicorp/hc-install/README.md Example output indicating a successful installation of a HashiCorp product version. ```sh hc-install: will install terraform@1.3.7 installed terraform@1.3.7 to /current/working/dir/terraform ``` -------------------------------- ### Install and Import YAML Library Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/ghodss/yaml/README.md Install the library using `go get` and import it into your Go projects. ```bash go get github.com/ghodss/yaml ``` ```go import "github.com/ghodss/yaml" ``` -------------------------------- ### Install Golang Tag Parser Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/vmihailenco/tagparser/v2/README.md Use 'go get' to install the tagparser library. ```shell go get github.com/vmihailenco/tagparser/v2 ``` -------------------------------- ### Install msgpack/v5 Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/vmihailenco/msgpack/v5/README.md Install the msgpack/v5 library using go get. Ensure you have initialized a Go module first. ```shell go get github.com/vmihailenco/msgpack/v5 ``` -------------------------------- ### Install mapstructure Go Library Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/mitchellh/mapstructure/README.md Use standard go get to install the mapstructure library. ```bash $ go get github.com/mitchellh/mapstructure ``` -------------------------------- ### Install Levenshtein Package Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/agext/levenshtein/README.md Use 'go get' to install the Levenshtein package for your Go project. ```go go get github.com/agext/levenshtein ``` -------------------------------- ### Install MessagePack Go Package Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/vmihailenco/msgpack/README.md Use 'go get' to install the msgpack package. Ensure you use the -u flag for updates. ```shell go get -u github.com/vmihailenco/msgpack ``` -------------------------------- ### Install yaml.v2 Package Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/gopkg.in/yaml.v2/README.md Use 'go get' to install the yaml.v2 package for use in your Go projects. ```bash go get gopkg.in/yaml.v2 ``` -------------------------------- ### Installer Methods Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/hashicorp/hc-install/README.md The Installer offers high-level methods for managing HashiCorp product versions. ```APIDOC ## Installer Methods The `Installer` offers a few high-level methods: - `Ensure(context.Context, []src.Source)`: Finds, installs, or builds a product version. - `Install(context.Context, []src.Installable)`: Installs a product version. ``` -------------------------------- ### Install a Specific Product Version Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/hashicorp/hc-install/README.md Use this command to install a specific version of a HashiCorp product. The default installation path is the current working directory. ```sh hc-install install -version 1.3.7 terraform ``` -------------------------------- ### CLI Installation - Homebrew Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/hashicorp/hc-install/README.md Install the hc-install CLI using Homebrew on macOS or Linux. ```APIDOC ## CLI Installation ### Homebrew (macOS / Linux) [Homebrew](https://brew.sh) ```sh brew install hashicorp/tap/hc-install ``` ``` -------------------------------- ### Full Application EPG Configuration Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/application_epg.md Demonstrates all possible attributes and relationships for an Application EPG. This example is for illustrative purposes and may not represent a valid configuration. ```hcl resource "aci_application_epg" "full_example_application_profile" { parent_dn = aci_application_profile.example.id annotation = "annotation" description = "description_1" contract_exception_tag = "contract_exception_tag_1" flood_in_encapsulation = "disabled" forwarding_control = "proxy-arp" has_multicast_source = "no" useg_epg = "no" match_criteria = "All" name = "test_name" name_alias = "name_alias_1" intra_epg_isolation = "enforced" preferred_group_member = "exclude" priority = "level1" admin_state = "no" epg_useg_block_statement = { annotation = "annotation_1" description = "description_1" match = "all" name = "criterion" name_alias = "name_alias_1" owner_key = "owner_key_1" owner_tag = "owner_tag_1" precedence = "1" scope = "scope-bd" annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } relation_to_monitoring_policy = { annotation = "annotation_1" monitoring_policy_name = aci_monitoring_policy.example.name annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } relation_to_attachable_access_entity_profiles = [ { encapsulation = "vlan-100" deployment_immediacy = "immediate" mode = "native" primary_encapsulation = "vlan-200" attachable_access_entity_profile_name = aci_attachable_access_entity_profile.example.name annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } ] relation_to_bridge_domain = { annotation = "annotation_1" bridge_domain_name = aci_bridge_domain.example.name annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } relation_to_consumed_contracts = [ { annotation = "annotation_1" priority = "level1" contract_name = aci_contract.example.name annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } ] relation_to_imported_contracts = [ { annotation = "annotation_1" priority = "level1" imported_contract_name = aci_imported_contract.example.name annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } ] relation_to_custom_qos_policy = { annotation = "annotation_1" custom_qos_policy_name = aci_custom_qos_policy.example.name annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { ``` -------------------------------- ### Source Types for Installer Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/hashicorp/hc-install/README.md The Installer methods accept various Source types, each with different trade-offs for obtaining product binaries. ```APIDOC ## Sources The `Installer` methods accept number of different `Source` types. Each comes with different trade-offs described below. - `fs.{AnyVersion,ExactVersion,Version}`: - Finds a binary in `$PATH` (or additional paths). - **Pros:** Convenient when the product is already installed and managed by you. - **Cons:** Relies on a single version; expects you to manage the installation. Not recommended for environments where product installation is not controlled by you. - `releases.{LatestVersion,ExactVersion}`: - Downloads, verifies & installs any known product from `releases.hashicorp.com`. - **Pros:** Fast and reliable for obtaining pre-built versions, allows installation of enterprise versions. - **Cons:** Consumes bandwidth, disk space, and time; potentially less stable builds. - `checkpoint.LatestVersion`: - Downloads, verifies & installs any known product available in HashiCorp Checkpoint. - **Pros:** Checkpoint typically contains stable product versions. - **Cons:** Consumes bandwidth, disk space, and time; currently doesn't allow installation of old or enterprise versions. - `build.GitRevision`: - Clones raw source code and builds the product from it. - **Pros:** Useful for catching bugs early (prior to product release). - **Cons:** Building from scratch consumes significant time & resources; build instructions may not always be up-to-date; increased likelihood of build containing bugs; CI builds may be fragile. ``` -------------------------------- ### CLI Installation - Linux (Apt/RPM) Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/hashicorp/hc-install/README.md Install the hc-install CLI on Debian/Ubuntu via apt or RHEL/CentOS/Fedora/Amazon Linux via RPM using official HashiCorp repositories. ```APIDOC ### Linux We support Debian & Ubuntu via apt and RHEL, CentOS, Fedora and Amazon Linux via RPM. You can follow the instructions in the [Official Packaging Guide](https://www.hashicorp.com/official-packaging-guide) to install the package from the official HashiCorp-maintained repositories. The package name is `hc-install` in all repositories. ``` -------------------------------- ### ACI Custom QoS Policy - Full Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/custom_qos_policy.md Shows all possible attributes for a Custom QoS Policy. Note: This example might not be valid configuration and is only used to demonstrate all attributes. ```hcl resource "aci_custom_qos_policy" "full_example_tenant" { parent_dn = aci_tenant.example.id annotation = "annotation" description = "description_1" name = "test_name" name_alias = "name_alias_1" owner_key = "owner_key_1" owner_tag = "owner_tag_1" dot1p_classifiers = [ { annotation = "annotation_1" description = "description_1" from = "0" name = "name_1" name_alias = "name_alias_1" priority = "level1" target = "AF11" target_cos = "0" to = "0" annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } ] dscp_to_priority_maps = [ { annotation = "annotation_1" description = "description_1" from = "AF11" name = "name_1" name_alias = "name_alias_1" priority = "level1" target = "AF11" target_cos = "0" to = "AF11" annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } ] annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } ``` -------------------------------- ### Quickstart: Marshal and Unmarshal Data Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/vmihailenco/msgpack/README.md Demonstrates basic usage of msgpack.Marshal and msgpack.Unmarshal to encode and decode a Go struct. Ensure error handling for both operations. ```go func ExampleMarshal() { type Item struct { Foo string } b, err := msgpack.Marshal(&Item{Foo: "bar"}) if err != nil { panic(err) } var item Item err = msgpack.Unmarshal(b, &item) if err != nil { panic(err) } fmt.Println(item.Foo) // Output: bar } ``` -------------------------------- ### ACI Port Tracking Data Source Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/port_tracking.md Use this data source to retrieve information about an existing ACI Port Tracking configuration. No setup is required. ```hcl data "aci_port_tracking" "example" {} ``` -------------------------------- ### Creating an interface for a Virtual Concrete Device Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/concrete_interface.md This example demonstrates how to create a concrete interface for a virtual concrete device. ```APIDOC ## aci_concrete_interface ### Description Manages ACI Concrete Interface ### Argument Reference * `concrete_device_dn` - (Required) Distinguished name of the parent Concrete Device object. * `name` - (Required) Name of the Concrete Interface object. * `encap` - (Optional) The port encapsulation. Type: String. * `vnic_name` - (Optional) The virtual NIC (vNIC) name of the L4-L7 Device VM represented by the concrete interface. Type: String. * `relation_vns_rs_c_if_path_att` - (Optional) Represents a relation from the Concrete Interface to the Physical Port on the Leaf (class fabricPathEp). Type: String. ### Example Usage ```hcl resource "aci_concrete_interface" "example1" { concrete_device_dn = aci_concrete_device.concrete.id name = "g0/4" encap = "unknown" vnic_name = "Network adapter 5" relation_vns_rs_c_if_path_att = "topology/pod-1/paths-101/pathep-[eth1/1]" } ``` ``` -------------------------------- ### Example Usage of aci_qos_instance_policy Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/qos_instance_policy.md This data source can be used to query existing ACI QOS Instance Policies. No specific setup is required beyond having the ACI provider configured. ```hcl data "aci_qos_instance_policy" "example" {} ``` -------------------------------- ### Create Full Link Flap Interface Policy with All Attributes Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/link_flap_interface_policy.md Demonstrates creating a Link Flap Interface Policy with all possible attributes. This example is for showcasing all options and may not represent a valid configuration. ```hcl resource "aci_link_flap_interface_policy" "full_example" { annotation = "annotation" description = "description_1" maximum_flaps = "10" allowed_time_for_flaps = "350" name = "test_name" name_alias = "name_alias_1" owner_key = "owner_key_1" owner_tag = "owner_tag_1" annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } ``` -------------------------------- ### Example Usage of aci_access_interface_override Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/access_interface_override.md Use this data source to fetch an existing Access Interface Override configuration by its name. This is useful for referencing existing configurations within your Terraform setup. ```hcl data "aci_access_interface_override" "example" { name = "host_path_selector" } ``` -------------------------------- ### hc-install Usage Help Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/hashicorp/hc-install/README.md Displays the usage information for the hc-install install command, outlining available options and their requirements. ```text Usage: hc-install install [options] -version This command installs a HashiCorp product. Options: -version [REQUIRED] Version of product to install. -path Path to directory where the product will be installed. Defaults to current working directory. -log-file Path to file where logs will be written. /dev/stdout or /dev/stderr can be used to log to STDOUT/STDERR. ``` -------------------------------- ### ACI Endpoint Controls Data Source Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/endpoint_controls.md Use this data source to query existing ACI Endpoint Control configurations. No specific setup is required beyond standard Terraform configuration. ```hcl data "aci_endpoint_controls" "example" {} ``` -------------------------------- ### Example Usage of Console Authentication Data Source Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/console_authentication.md This data source can be used to fetch the Console Authentication configuration. No specific setup is required beyond the standard Terraform configuration for the ACI provider. ```hcl data "aci_console_authentication" "example" {} ``` -------------------------------- ### Wrap String Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/mitchellh/go-wordwrap/README.md Demonstrates basic usage of WrapString to wrap a given string to a specified width. Ensure the 'fmt' package is imported for printing. ```go wrapped := wordwrap.WrapString("foo bar baz", 3) fmt.Println(wrapped) ``` -------------------------------- ### Example Usage of aci_authentication_properties Data Source Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/authentication_properties.md This snippet shows how to use the `aci_authentication_properties` data source to fetch AAA authentication properties. No additional setup is required beyond defining the data source. ```hcl data "aci_authentication_properties" "example" {} ``` -------------------------------- ### Example Usage of Service Redirect Policy Data Source Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/service_redirect_policy.md Use this data source to fetch an existing Service Redirect Policy by its tenant and name. Ensure the `aci_tenant.example` resource is defined elsewhere. ```hcl data "aci_service_redirect_policy" "example" { tenant_dn = aci_tenant.example.id name = "example" } ``` -------------------------------- ### ACI Error Disable Recovery Data Source Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/error_disable_recovery.md Use this data source to query an existing ACI Error Disable Recovery policy. No specific setup is required beyond having the ACI provider configured. ```hcl data "aci_error_disable_recovery" "example" {} ``` -------------------------------- ### Basic Marshal and Unmarshal Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/vmihailenco/msgpack/v5/README.md Demonstrates how to marshal a Go struct into MessagePack format and then unmarshal it back. This is a fundamental usage pattern for the library. ```go import "github.com/vmihailenco/msgpack/v5" func ExampleMarshal() { type Item struct { Foo string } b, err := msgpack.Marshal(&Item{Foo: "bar"}) if err != nil { panic(err) } var item Item err = msgpack.Unmarshal(b, &item) if err != nil { panic(err) } fmt.Println(item.Foo) // Output: bar } ``` -------------------------------- ### Creating a Virtual Concrete Device Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/concrete_device.md This example demonstrates how to create a virtual concrete device using the aci_concrete_device resource. ```APIDOC ## aci_concrete_device ## Manages ACI Concrete Device ### Argument Reference ### * `l4-l7_device_dn` - (Required) Distinguished name of the parent L4-L7 Device object. * `name` - (Required) Name of the Concrete Device object. * `annotation` - (Optional) Annotation of the Concrete Device object. * `name_alias` - (Optional) Name Alias of the Concrete Device object. * `vmm_controller_dn` - (Optional) Distinguished name of the VMM controller object. This can only be used for Virtual L4-L7 Devices. Type: String. * `vm_name` - (Optional) The name of the Virtual Machine (VM) in the vCenter on which the device in the L4-L7 device cluster is hosted. It uniquely identifies the VM. This can only be used for Virtual L4-L7 Devices. Type: String. ### Request Example ### ```hcl resource "aci_concrete_device" "example1" { l4_l7_device_dn = aci_l4_l7_device.example.id name = "example1" vmm_controller_dn = "uni/vmmp-VMware/dom-ACI-vDS/ctrlr-vcenter" vm_name = "tenant1-ASA1" } ``` ``` -------------------------------- ### Example Usage of aci_multicast_pool_block Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/multicast_pool_block.md Use this data source to fetch details of an existing multicast address pool block. It requires the distinguished name of the parent multicast pool and the start and end IP addresses of the block. ```hcl data "aci_multicast_pool" "example-pool" { name = "example-pool" } data "aci_multicast_pool_block" "example" { multicast_pool_dn = data.aci_multicast_pool.example-pool.id from = "224.0.0.30" to = "224.0.0.40" } ``` -------------------------------- ### ACI Endpoint IP Aging Profile Data Source Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/endpoint_ip_aging_profile.md Use this data source to query an existing ACI Endpoint IP Aging Profile. No specific setup is required beyond having the ACI provider configured. ```hcl data "aci_endpoint_ip_aging_profile" "example" {} ``` -------------------------------- ### Creating an interface for a Physical Concrete Device Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/concrete_interface.md This example demonstrates how to create a concrete interface for a physical concrete device. ```APIDOC ## aci_concrete_interface ### Description Manages ACI Concrete Interface ### Argument Reference * `concrete_device_dn` - (Required) Distinguished name of the parent Concrete Device object. * `name` - (Required) Name of the Concrete Interface object. * `encap` - (Optional) The port encapsulation. Type: String. * `vnic_name` - (Optional) The virtual NIC (vNIC) name of the L4-L7 Device VM represented by the concrete interface. Type: String. * `relation_vns_rs_c_if_path_att` - (Optional) Represents a relation from the Concrete Interface to the Physical Port on the Leaf (class fabricPathEp). Type: String. ### Example Usage ```hcl resource "aci_concrete_interface" "example2" { concrete_device_dn = aci_concrete_device.concrete.id name = "g0/4" relation_vns_rs_c_if_path_att = "topology/pod-1/paths-101/pathep-[eth1/2]" } ``` ``` -------------------------------- ### Example Terraform Configuration Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/cloud_vpn_gateway.md An example of how to use the aci_cloud_vpn_gateway resource in a Terraform configuration. ```APIDOC resource "aci_cloud_vpn_gateway" "example" { cloud_context_profile_dn = aci_cloud_context_profile.example.id name = "example_name" description = "from terraform" annotation = "example_annotation" name_alias = "Alias_name" num_instances = "1" cloud_router_profile_type = "vpn-gw" } ``` -------------------------------- ### Create Imported Logical Device (All Attributes) Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/imported_logical_device.md Demonstrates the creation of an Imported Logical Device using all available attributes. Note: This example is for attribute illustration and may not represent valid configuration. ```hcl resource "aci_imported_logical_device" "full_example_tenant" { parent_dn = aci_tenant.example.id annotation = "annotation" description = "description_1" logical_device = aci_l4_l7_device.example_in_another_tenant.id name = "name_1" name_alias = "name_alias_1" annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } ``` -------------------------------- ### Install hc-install via Homebrew Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/hashicorp/hc-install/README.md Installs the hc-install CLI tool using Homebrew on macOS or Linux systems. ```sh brew install hashicorp/tap/hc-install ``` -------------------------------- ### aci_mgmt_zone Data Source Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/mgmt_zone.md Example usage of the `aci_mgmt_zone` data source to retrieve an in-band management zone. ```APIDOC ## aci_mgmt_zone Data Source ### Description This data source is used to query ACI Management Zones. It allows you to retrieve details about either an in-band or out-of-band management zone associated with a specific Managed Node Connectivity Group. ### Method Data Source ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Example Usage ```hcl data "aci_mgmt_zone" "example_in_band" { managed_node_connectivity_group_dn = aci_managed_node_connectivity_group.example.id type = "in_band" name = "inb_zone" } data "aci_mgmt_zone" "example_out_of_band" { managed_node_connectivity_group_dn = aci_managed_node_connectivity_group.example.id type = "out_of_band" name = "oob_zone" } ``` ### Argument Reference - `managed_node_connectivity_group_dn` - (Required) Distinguished name of the parent Managed Node Connectivity Group object. - `type` - (Required) Type of the Management Zone. Allowed values: "in_band" and "out_of_band". - `name` - (Required) Name of the Management Zone. ### Attribute Reference - `id` - Attribute id set to the Distinguished Name (Dn) of the Management Zone. - `annotation` - (Optional) Annotation of the object Management Zone. - `name_alias` - (Optional) Name Alias of the object Management Zone. - `description` - (Optional) Description of the object Management Zone. ``` -------------------------------- ### Install gRPC-Go Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/google.golang.org/grpc/README.md Add this import to your Go code to automatically fetch gRPC-Go dependencies during build, run, or test. ```go import "google.golang.org/grpc" ``` -------------------------------- ### HCL Native Syntax Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/vendor/github.com/hashicorp/hcl/v2/README.md Illustrates the native HCL syntax with attributes and nested blocks for a service configuration. ```hcl io_mode = "async" service "http" "web_proxy" { listen_addr = "127.0.0.1:8080" process "main" { command = ["/usr/local/bin/awesome-app", "server"] } process "mgmt" { command = ["/usr/local/bin/awesome-app", "mgmt"] } } ``` -------------------------------- ### aci_fabric_node Data Source Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/data-sources/fabric_node.md Example of how to use the aci_fabric_node data source to retrieve fabric node information. ```APIDOC ## aci_fabric_node Data Source ### Description This data source is used to query information about ACI Fabric Nodes. ### Argument Reference * `fabric_pod_dn` - (Required) Distinguished name of the parent Fabric Pod object. * `fabric_node_id` - (Required) The ID of the Fabric Node. ### Attribute Reference * `id` - The Distinguished Name (DN) of the Fabric Node. * `ad_st` - (Optional) The administrative state of the Fabric Node. * `annotation` - (Optional) Annotation for the Fabric Node. * `apic_type` - (Optional) The APIC type of the Fabric Node. * `fabric_st` - (Optional) The fabric state of the Fabric Node. * `address` - (Optional) The IP address of the Fabric Node. * `name` - (Optional) The name of the Fabric Node. * `node_type` - (Optional) The type of the Fabric Node. * `role` - (Optional) The role of the Fabric Node. * `name_alias` - (Optional) The name alias for the Fabric Node. ### Example Usage ```hcl data "aci_fabric_node" "example" { fabric_pod_dn = "topology/pod-1" fabric_node_id = "101" } ``` ``` -------------------------------- ### Create Physical Concrete Device Interface Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/concrete_interface.md This example demonstrates creating a concrete interface for a physical concrete device. The `encap` and `vnic_name` arguments are not required for physical interfaces. ```hcl resource "aci_concrete_interface" "example2" { concrete_device_dn = aci_concrete_device.concrete.id name = "g0/4" relation_vns_rs_c_if_path_att = "topology/pod-1/paths-101/pathep-[eth1/2]" } ``` -------------------------------- ### L3Out Redistribute Policy Full Configuration Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/l3out_redistribute_policy.md Demonstrates all possible attributes for an L3Out Redistribute Policy. Note: This example may not represent valid configuration and is for attribute illustration only. Ensure ACI version compatibility for annotations and tags. ```hcl resource "aci_l3out_redistribute_policy" "full_example_l3_outside" { parent_dn = aci_l3_outside.example.id annotation = "annotation" source = "direct" route_control_profile_name = aci_route_control_profile.example.name annotations = [ { key = "key_0" value = "value_1" } ] tags = [ { key = "key_0" value = "value_1" } ] } ``` -------------------------------- ### ACI Multicast Pool Example Source: https://github.com/ciscodevnet/terraform-provider-aci/blob/develop/docs/resources/multicast_pool.md Example of how to configure an ACI Multicast Pool resource. Note: Do not use `multicast_address_block` from this resource in combination with the `aci_multicast_pool_block` resource. ```hcl resource "aci_multicast_pool" "example-pool" { name = "example-pool" multicast_address_block { from = "224.0.0.40" to = "224.0.0.44" name = "testing-1" } } ```