Skip to content

Commit

Permalink
[minor_change] Addition of recursive logic in the templates to incorp…
Browse files Browse the repository at this point in the history
…orate grand children of the parent class as nested children within the immediate child of the parent
  • Loading branch information
shrsr committed Mar 22, 2024
1 parent 5c22fae commit d01e22a
Show file tree
Hide file tree
Showing 21 changed files with 6,872 additions and 109 deletions.
4 changes: 4 additions & 0 deletions docs/data-sources/annotation.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ data "aci_annotation" "example_application_epg" {
### Required ###

* `parent_dn` - (string) The distinguished name (DN) of the parent object, possible resources:
- [aci_http_ssl_configuration](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/http_ssl_configuration) ([commHttps](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commHttps/overview))
- [aci_communication_policy](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/communication_policy) ([commPol](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commPol/overview))
- [aci_tp](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/tp) ([commRsClientCertCA](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commRsClientCertCA/overview))
- [aci_key_ring](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/key_ring) ([commRsKeyRing](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commRsKeyRing/overview))
- [aci_application_epg](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/application_epg) ([fvAEPg](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/fvAEPg/overview))
- [aci_endpoint_tag_ip](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/endpoint_tag_ip) ([fvEpIpTag](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/fvEpIpTag/overview))
- [aci_endpoint_tag_mac](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/endpoint_tag_mac) ([fvEpMacTag](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/fvEpMacTag/overview))
Expand Down
81 changes: 81 additions & 0 deletions docs/data-sources/communication_policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
# Documentation generated by "gen/generator.go"; DO NOT EDIT.
# In order to regenerate this file execute `go generate` from the repository root.
# More details can be found in the [README](https://github.com/CiscoDevNet/terraform-provider-aci/blob/master/README.md).
subcategory: "Generic"
layout: "aci"
page_title: "ACI: aci_communication_policy"
sidebar_current: "docs-aci-data-source-aci_communication_policy"
description: |-
Data source for Communication Policy
---

# aci_communication_policy #

Data source for Communication Policy

## API Information ##

* Class: [commPol](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commPol/overview)

* Supported in ACI versions: 1.0(1e) and later.

* Distinguished Name Format: `uni/fabric/comm-{name}`

## GUI Information ##

* Location: `Generic`

## Example Usage ##

```hcl
data "aci_communication_policy" "example" {
name = "test_name"
}
```

## Schema ##

### Required ###

* `name` (name) - (string) The name of the Communication Policy object.

### Read-Only ###

* `id` - (string) The distinguished name (DN) of the Communication Policy object.
* `annotation` (annotation) - (string) The annotation of the Communication Policy object.
* `description` (descr) - (string) The description of the Communication Policy object.
* `name_alias` (nameAlias) - (string) The name alias of the Communication Policy object.
* `owner_key` (ownerKey) - (string) The key for enabling clients to own their data for entity correlation.
* `owner_tag` (ownerTag) - (string) A tag for enabling clients to add their own data. For example, to indicate who created this object.
* `strict_security_on_apic_oob_subnet` (strictSecurityOnApicOOBSubnet) - (string) remove implicit access on apic oob from any apic OOB subnet IP.

* `http_ssl_configuration` - (list) A list of Http Ssl Configuration objects ([commHttps](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commHttps/overview)).
* `access_control_allow_credential` (accessControlAllowCredential) - (string) accessControlAllowCredential.
* `access_control_allow_origins` (accessControlAllowOrigins) - (string)
* `admin_st` (adminSt) - (string) The state of HTTPS communication service. This can be enabled or disabled.
* `annotation` (annotation) - (string) The annotation of the Http Ssl Configuration object.
* `cli_only_mode` (cliOnlyMode) - (string) CLI only mode.
* `client_cert_auth_state` (clientCertAuthState) - (string) Client Cert Auth State.
* `description` (descr) - (string) The description of the Http Ssl Configuration object.
* `dh_param` (dhParam) - (string) DH Parameter.
* `global_throttle_rate` (globalThrottleRate) - (string) The maximum MO api calls allowed per unit time.
* `global_throttle_st` (globalThrottleSt) - (string) Throttle state for all clients without tag0 in header.
* `global_throttle_unit` (globalThrottleUnit) - (string) Unit of rate limit.
* `max_request_status_count` (maxRequestStatusCount) - (string) The maximum number of request status objects to keep.
* `name` (name) - (string) The name of the Http Ssl Configuration object.
* `name_alias` (nameAlias) - (string) The name alias of the Http Ssl Configuration object.
* `node_exporter` (nodeExporter) - (string) Node Exporter service.
* `port` (port) - (string) The port used for HTTPS communication service.
* `referer` (referer) - (string) Allowed HTTP referer space separated list.
* `server_header` (serverHeader) - (string) Server Header.
* `ssl_protocols` (sslProtocols) - (list) The Secure Socket Layer (SSL) protocol.
* `throttle_rate` (throttleRate) - (string) The maximum login/refresh allowed per second.
* `throttle_st` (throttleSt) - (string) Login/refresh throttle state.
* `visore_access` (visoreAccess) - (string) Visore Access.

* `annotations` - (list) A list of Annotations objects ([tagAnnotation](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/tagAnnotation/overview)). This attribute is supported in ACI versions: 3.2(1l) and later.
* `key` (key) - (string) The key used to uniquely identify this configuration object.
* `value` (value) - (string) The value of the property.
4 changes: 4 additions & 0 deletions docs/resources/annotation.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ All examples for the Annotation resource can be found in the [examples](https://
### Required ###

* `parent_dn` - (string) The distinguished name (DN) of the parent object, possible resources:
- [aci_http_ssl_configuration](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/http_ssl_configuration) ([commHttps](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commHttps/overview))
- [aci_communication_policy](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/communication_policy) ([commPol](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commPol/overview))
- [aci_tp](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/tp) ([commRsClientCertCA](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commRsClientCertCA/overview))
- [aci_key_ring](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/key_ring) ([commRsKeyRing](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commRsKeyRing/overview))
- [aci_application_epg](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/application_epg) ([fvAEPg](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/fvAEPg/overview))
- [aci_endpoint_tag_ip](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/endpoint_tag_ip) ([fvEpIpTag](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/fvEpIpTag/overview))
- [aci_endpoint_tag_mac](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/endpoint_tag_mac) ([fvEpMacTag](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/fvEpMacTag/overview))
Expand Down
201 changes: 201 additions & 0 deletions docs/resources/communication_policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
---
# Documentation generated by "gen/generator.go"; DO NOT EDIT.
# In order to regenerate this file execute `go generate` from the repository root.
# More details can be found in the [README](https://github.com/CiscoDevNet/terraform-provider-aci/blob/master/README.md).
subcategory: "Generic"
layout: "aci"
page_title: "ACI: aci_communication_policy"
sidebar_current: "docs-aci-resource-aci_communication_policy"
description: |-
Manages ACI Communication Policy
---

# aci_communication_policy #

Manages ACI Communication Policy



## API Information ##

* Class: [commPol](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commPol/overview)

* Supported in ACI versions: 1.0(1e) and later.

* Distinguished Name Format: `uni/fabric/comm-{name}`

## GUI Information ##

* Location: `Generic`

## Example Usage ##

The configuration snippet below creates a Communication Policy with only required attributes.

```hcl
resource "aci_communication_policy" "example" {
name = "test_name"
}
```
The configuration snippet below shows all possible attributes of the Communication Policy.

!> This example might not be valid configuration and is only used to show all possible attributes.

```hcl
resource "aci_communication_policy" "full_example" {
annotation = "annotation"
description = "description"
name = "test_name"
name_alias = "name_alias"
owner_key = "owner_key"
owner_tag = "owner_tag"
strict_security_on_apic_oob_subnet = "no"
http_ssl_configuration = [
{
access_control_allow_credential = "disabled"
access_control_allow_origins = "access_control_allow_origins_1"
admin_st = "disabled"
annotation = "annotation_1"
cli_only_mode = "disabled"
client_cert_auth_state = "disabled"
description = "description_1"
dh_param = "1024"
global_throttle_rate = "global_throttle_rate_1"
global_throttle_st = "disabled"
global_throttle_unit = "global_throttle_unit_1"
max_request_status_count = "max_request_status_count_1"
name = "name_1"
name_alias = "name_alias_1"
node_exporter = "disabled"
port = "port_1"
referer = "referer_1"
server_header = "disabled"
ssl_protocols = "TLSv1"
throttle_rate = "throttle_rate_1"
throttle_st = "disabled"
visore_access = "disabled"
}
]
annotations = [
{
key = "annotations_1"
value = "value_1"
}
]
}
```

All examples for the Communication Policy resource can be found in the [examples](https://github.com/CiscoDevNet/terraform-provider-aci/tree/master/examples/resources/aci_communication_policy) folder.

## Schema ##

### Required ###

* `name` (name) - (string) The name of the Communication Policy object.

### Read-Only ###

* `id` - (string) The distinguished name (DN) of the Communication Policy object.

### Optional ###

* `annotation` (annotation) - (string) The annotation of the Communication Policy object.
- Default: `orchestrator:terraform`
* `description` (descr) - (string) The description of the Communication Policy object.
* `name_alias` (nameAlias) - (string) The name alias of the Communication Policy object.
* `owner_key` (ownerKey) - (string) The key for enabling clients to own their data for entity correlation.
* `owner_tag` (ownerTag) - (string) A tag for enabling clients to add their own data. For example, to indicate who created this object.
* `strict_security_on_apic_oob_subnet` (strictSecurityOnApicOOBSubnet) - (string) remove implicit access on apic oob from any apic OOB subnet IP.
- Default: `false`
- Valid Values: `no`, `yes`.

* `http_ssl_configuration` - (list) A list of Http Ssl Configuration objects ([commHttps](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/commHttps/overview)). Http Ssl Configuration can also be configured using a separate [aci_](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/) resource.

#### Required ####


#### Optional ####

* `access_control_allow_credential` (accessControlAllowCredential) - (string) accessControlAllowCredential.
- Default: `disabled`
- Valid Values: `disabled`, `enabled`.
* `access_control_allow_origins` (accessControlAllowOrigins) - (string)
* `admin_st` (adminSt) - (string) The state of HTTPS communication service. This can be enabled or disabled.
- Default: `enabled`
- Valid Values: `disabled`, `enabled`.
* `annotation` (annotation) - (string) The annotation of the Http Ssl Configuration object.
- Default: `orchestrator:terraform`
* `cli_only_mode` (cliOnlyMode) - (string) CLI only mode.
- Default: `disabled`
- Valid Values: `disabled`, `enabled`.
* `client_cert_auth_state` (clientCertAuthState) - (string) Client Cert Auth State.
- Default: `disabled`
- Valid Values: `disabled`, `enabled`.
* `description` (descr) - (string) The description of the Http Ssl Configuration object.
* `dh_param` (dhParam) - (string) DH Parameter.
- Default: `none`
- Valid Values: `1024`, `2048`, `4096`, `none`.
* `global_throttle_rate` (globalThrottleRate) - (string) The maximum MO api calls allowed per unit time.
- Default: `10000.000000`
* `global_throttle_st` (globalThrottleSt) - (string) Throttle state for all clients without tag0 in header.
- Default: `disabled`
- Valid Values: `disabled`, `enabled`.
* `global_throttle_unit` (globalThrottleUnit) - (string) Unit of rate limit.
- Default: `r/s`
* `max_request_status_count` (maxRequestStatusCount) - (string) The maximum number of request status objects to keep.
* `name` (name) - (string) The name of the Http Ssl Configuration object.
- Default: `https`
* `name_alias` (nameAlias) - (string) The name alias of the Http Ssl Configuration object.
* `node_exporter` (nodeExporter) - (string) Node Exporter service.
- Default: `disabled`
- Valid Values: `disabled`, `enabled`.
* `port` (port) - (string) The port used for HTTPS communication service.
- Default: `443.000000`
* `referer` (referer) - (string) Allowed HTTP referer space separated list.
* `server_header` (serverHeader) - (string) Server Header.
- Default: `enabled`
- Valid Values: `disabled`, `enabled`.
* `ssl_protocols` (sslProtocols) - (list) The Secure Socket Layer (SSL) protocol.
- Default: `TLSv1.1,TLSv1.2`
- Valid Values: `TLSv1`, `TLSv1.1`, `TLSv1.2`, `TLSv1.3`.
* `throttle_rate` (throttleRate) - (string) The maximum login/refresh allowed per second.
- Default: `2.000000`
* `throttle_st` (throttleSt) - (string) Login/refresh throttle state.
- Default: `enabled`
- Valid Values: `disabled`, `enabled`.
* `visore_access` (visoreAccess) - (string) Visore Access.
- Default: `enabled`
- Valid Values: `disabled`, `enabled`.

* `annotations` - (list) A list of Annotations objects ([tagAnnotation](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/tagAnnotation/overview)). Annotations can also be configured using a separate [aci_annotation](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/annotation) resource. This attribute is supported in ACI versions: 3.2(1l) and later.

#### Required ####

* `key` (key) - (string) The key used to uniquely identify this configuration object.
* `value` (value) - (string) The value of the property.

## Importing

An existing Communication Policy can be [imported](https://www.terraform.io/docs/import/index.html) into this resource with its distinguished name (DN), via the following command:

```
terraform import aci_communication_policy.example uni/fabric/comm-{name}
```

Starting in Terraform version 1.5, an existing Communication Policy can be imported
using [import blocks](https://developer.hashicorp.com/terraform/language/import) via the following configuration:

```
import {
id = "uni/fabric/comm-{name}"
to = aci_communication_policy.example
}
```

## Child Resources

- [aci_http_ssl_configuration](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/http_ssl_configuration)
4 changes: 4 additions & 0 deletions examples/data-sources/aci_communication_policy/data-source.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

data "aci_communication_policy" "example" {
name = "test_name"
}
14 changes: 14 additions & 0 deletions examples/data-sources/aci_communication_policy/provider.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
terraform {
required_providers {
aci = {
source = "ciscodevnet/aci"
}
}
}

provider "aci" {
username = ""
password = ""
url = ""
insecure = true
}
14 changes: 14 additions & 0 deletions examples/resources/aci_communication_policy/provider.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
terraform {
required_providers {
aci = {
source = "ciscodevnet/aci"
}
}
}

provider "aci" {
username = ""
password = ""
url = ""
insecure = true
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

resource "aci_communication_policy" "full_example" {
annotation = "annotation"
description = "description"
name = "test_name"
name_alias = "name_alias"
owner_key = "owner_key"
owner_tag = "owner_tag"
strict_security_on_apic_oob_subnet = "no"
http_ssl_configuration = [
{
access_control_allow_credential = "disabled"
access_control_allow_origins = "access_control_allow_origins_1"
admin_st = "disabled"
annotation = "annotation_1"
cli_only_mode = "disabled"
client_cert_auth_state = "disabled"
description = "description_1"
dh_param = "1024"
global_throttle_rate = "global_throttle_rate_1"
global_throttle_st = "disabled"
global_throttle_unit = "global_throttle_unit_1"
max_request_status_count = "max_request_status_count_1"
name = "name_1"
name_alias = "name_alias_1"
node_exporter = "disabled"
port = "port_1"
referer = "referer_1"
server_header = "disabled"
ssl_protocols = "TLSv1"
throttle_rate = "throttle_rate_1"
throttle_st = "disabled"
visore_access = "disabled"
}
]
annotations = [
{
key = "annotations_1"
value = "value_1"
}
]
}
4 changes: 4 additions & 0 deletions examples/resources/aci_communication_policy/resource.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

resource "aci_communication_policy" "example" {
name = "test_name"
}
Loading

0 comments on commit d01e22a

Please sign in to comment.