Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[minor_change] Add resources and datasources to support qosDot1PClass and qosDscpClass and expose them in existing aci_custom_qos_policy resource and datasource as children (DCNE-35) #1296

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions docs/data-sources/custom_qos_policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,28 @@ data "aci_custom_qos_policy" "example_tenant" {
* `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.

* `dot1p_classifiers` - (list) A list of Dot1p Classifiers (ACI object [qosDot1PClass](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/qosDot1PClass/overview)).
* `annotation` (annotation) - (string) The annotation of the Dot1p Classifier object.
* `description` (descr) - (string) The description of the Dot1p Classifier object.
* `from` (from) - (string) The Dot1p priority range starting value.
* `name` (name) - (string) The name of the Dot1p Classifier object.
* `name_alias` (nameAlias) - (string) The name alias of the Dot1p Classifier object.
* `priority` (prio) - (string) The Quality of Service (QoS) priority class ID. QoS refers to the capability of a network to provide better service to selected network traffic over various technologies. The primary goal of QoS is to provide priority including dedicated bandwidth, controlled jitter and latency (required by some real-time and interactive traffic), and improved loss characteristics. You can configure the bandwidth of each QoS level using QoS profiles.
* `target` (target) - (string) The target of the Dot1p Classifier object. This Fabric only supports DSCP mutation, Dot1P mutation is not supported.
* `target_cos` (targetCos) - (string) Target COS to be driven based on the range of input values of DSCP coming into the fabric.
* `to` (to) - (string) The Dot1p priority range ending value.

* `dscp_to_priority_maps` - (list) A list of DSCP to Priority Maps (ACI object [qosDscpClass](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/qosDscpClass/overview)).
* `annotation` (annotation) - (string) The annotation of the DSCP to Priority Map object.
* `description` (descr) - (string) The description of the DSCP to Priority Map object.
* `from` (from) - (string) The DSCP range starting value.
* `name` (name) - (string) The name of the DSCP to Priority Map object.
* `name_alias` (nameAlias) - (string) The name alias of the DSCP to Priority Map object.
* `priority` (prio) - (string) The Quality of Service (QoS) priority class ID. QoS refers to the capability of a network to provide better service to selected network traffic over various technologies. The primary goal of QoS is to provide priority including dedicated bandwidth, controlled jitter and latency (required by some real-time and interactive traffic), and improved loss characteristics. You can configure the bandwidth of each QoS level using QoS profiles.
* `target` (target) - (string) The target of the DSCP to Priority Map object. This Fabric only supports DSCP mutation, Dot1P mutation is not supported.
* `target_cos` (targetCos) - (string) Target COS to be driven based on the range of input values of DSCP coming into the fabric.
* `to` (to) - (string) The DSCP range ending value.

* `annotations` - (list) A list of Annotations (ACI object [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.
Expand Down
69 changes: 69 additions & 0 deletions docs/data-sources/dot1p_classifier.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
# 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: "Tenant Policies"
layout: "aci"
page_title: "ACI: aci_dot1p_classifier"
sidebar_current: "docs-aci-data-source-aci_dot1p_classifier"
description: |-
Data source for ACI Dot1p Classifier
---

# aci_dot1p_classifier #

Data source for ACI Dot1p Classifier

## API Information ##

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

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

* Distinguished Name Format: `uni/tn-{name}/qoscustom-{name}/dot1P-{from}-{to}`

## GUI Information ##

* Location: `Tenants -> Policies -> Protocol -> Custom QoS -> Dot1p Classifiers`

## Example Usage ##

```hcl

data "aci_dot1p_classifier" "example_custom_qos_policy" {
parent_dn = aci_custom_qos_policy.example.id
from = "1"
to = "2"
}

```

## Schema ##

### Required ###

* `parent_dn` - (string) The distinguished name (DN) of the parent object, possible resources:
- [aci_custom_qos_policy](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/custom_qos_policy) ([qosCustomPol](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/qosCustomPol/overview))
* `from` (from) - (string) The Dot1p priority range starting value.
- Valid Values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `unspecified`.
* `to` (to) - (string) The Dot1p priority range ending value.
- Valid Values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `unspecified`.

### Read-Only ###

* `id` - (string) The distinguished name (DN) of the Dot1p Classifier object.
* `annotation` (annotation) - (string) The annotation of the Dot1p Classifier object.
* `description` (descr) - (string) The description of the Dot1p Classifier object.
* `name` (name) - (string) The name of the Dot1p Classifier object.
* `name_alias` (nameAlias) - (string) The name alias of the Dot1p Classifier object.
* `priority` (prio) - (string) The Quality of Service (QoS) priority class ID. QoS refers to the capability of a network to provide better service to selected network traffic over various technologies. The primary goal of QoS is to provide priority including dedicated bandwidth, controlled jitter and latency (required by some real-time and interactive traffic), and improved loss characteristics. You can configure the bandwidth of each QoS level using QoS profiles.
* `target` (target) - (string) The target of the Dot1p Classifier object. This Fabric only supports DSCP mutation, Dot1P mutation is not supported.
* `target_cos` (targetCos) - (string) Target COS to be driven based on the range of input values of DSCP coming into the fabric.

* `annotations` - (list) A list of Annotations (ACI object [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.

* `tags` - (list) A list of Tags (ACI object [tagTag](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/tagTag/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.
69 changes: 69 additions & 0 deletions docs/data-sources/dscp_to_priority_map.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
# 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: "Tenant Policies"
layout: "aci"
page_title: "ACI: aci_dscp_to_priority_map"
sidebar_current: "docs-aci-data-source-aci_dscp_to_priority_map"
description: |-
Data source for ACI DSCP to Priority Map
---

# aci_dscp_to_priority_map #

Data source for ACI DSCP to Priority Map

## API Information ##

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

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

* Distinguished Name Format: `uni/tn-{name}/qoscustom-{name}/dcsp-{from}-{to}`

## GUI Information ##

* Location: `Tenants -> Policies -> Protocol -> Custom QoS -> DSCP to priority map`

## Example Usage ##

```hcl

data "aci_dscp_to_priority_map" "example_custom_qos_policy" {
parent_dn = aci_custom_qos_policy.example.id
from = "AF11"
to = "AF22"
}

```

## Schema ##

### Required ###

* `parent_dn` - (string) The distinguished name (DN) of the parent object, possible resources:
- [aci_custom_qos_policy](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/custom_qos_policy) ([qosCustomPol](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/qosCustomPol/overview))
* `from` (from) - (string) The DSCP range starting value.
- Valid Values: `AF11`, `AF12`, `AF13`, `AF21`, `AF22`, `AF23`, `AF31`, `AF32`, `AF33`, `AF41`, `AF42`, `AF43`, `CS0`, `CS1`, `CS2`, `CS3`, `CS4`, `CS5`, `CS6`, `CS7`, `EF`, `VA`.
* `to` (to) - (string) The DSCP range ending value.
- Valid Values: `AF11`, `AF12`, `AF13`, `AF21`, `AF22`, `AF23`, `AF31`, `AF32`, `AF33`, `AF41`, `AF42`, `AF43`, `CS0`, `CS1`, `CS2`, `CS3`, `CS4`, `CS5`, `CS6`, `CS7`, `EF`, `VA`.

### Read-Only ###

* `id` - (string) The distinguished name (DN) of the DSCP to Priority Map object.
* `annotation` (annotation) - (string) The annotation of the DSCP to Priority Map object.
* `description` (descr) - (string) The description of the DSCP to Priority Map object.
* `name` (name) - (string) The name of the DSCP to Priority Map object.
* `name_alias` (nameAlias) - (string) The name alias of the DSCP to Priority Map object.
* `priority` (prio) - (string) The Quality of Service (QoS) priority class ID. QoS refers to the capability of a network to provide better service to selected network traffic over various technologies. The primary goal of QoS is to provide priority including dedicated bandwidth, controlled jitter and latency (required by some real-time and interactive traffic), and improved loss characteristics. You can configure the bandwidth of each QoS level using QoS profiles.
* `target` (target) - (string) The target of the DSCP to Priority Map object. This Fabric only supports DSCP mutation, Dot1P mutation is not supported.
* `target_cos` (targetCos) - (string) Target COS to be driven based on the range of input values of DSCP coming into the fabric.

* `annotations` - (list) A list of Annotations (ACI object [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.

* `tags` - (list) A list of Tags (ACI object [tagTag](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/tagTag/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.
74 changes: 74 additions & 0 deletions docs/resources/custom_qos_policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,32 @@ resource "aci_custom_qos_policy" "full_example_tenant" {
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"
}
]
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"
Expand Down Expand Up @@ -93,6 +119,54 @@ All examples for the Custom Qos Policy resource can be found in the [examples](h
* `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.

* `dot1p_classifiers` - (list) A list of Dot1p Classifiers (ACI object [qosDot1PClass](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/qosDot1PClass/overview)). Dot1p Classifiers can also be configured using a separate [aci_dot1p_classifier](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/dot1p_classifier) resource.

#### Required ####

* `from` (from) - (string) The Dot1p priority range starting value.
* `to` (to) - (string) The Dot1p priority range ending value.

#### Optional ####

* `annotation` (annotation) - (string) The annotation of the Dot1p Classifier object.
- Default: `orchestrator:terraform`
* `description` (descr) - (string) The description of the Dot1p Classifier object.
* `name` (name) - (string) The name of the Dot1p Classifier object.
* `name_alias` (nameAlias) - (string) The name alias of the Dot1p Classifier object.
* `priority` (prio) - (string) The Quality of Service (QoS) priority class ID. QoS refers to the capability of a network to provide better service to selected network traffic over various technologies. The primary goal of QoS is to provide priority including dedicated bandwidth, controlled jitter and latency (required by some real-time and interactive traffic), and improved loss characteristics. You can configure the bandwidth of each QoS level using QoS profiles.
- Default: `unspecified`
- Valid Values: `level1`, `level2`, `level3`, `level4`, `level5`, `level6`, `unspecified`.
* `target` (target) - (string) The target of the Dot1p Classifier object. This Fabric only supports DSCP mutation, Dot1P mutation is not supported.
- Default: `unspecified`
- Valid Values: `AF11`, `AF12`, `AF13`, `AF21`, `AF22`, `AF23`, `AF31`, `AF32`, `AF33`, `AF41`, `AF42`, `AF43`, `CS0`, `CS1`, `CS2`, `CS3`, `CS4`, `CS5`, `CS6`, `CS7`, `EF`, `VA`, `unspecified`.
* `target_cos` (targetCos) - (string) Target COS to be driven based on the range of input values of DSCP coming into the fabric.
- Default: `unspecified`
- Valid Values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `unspecified`.

* `dscp_to_priority_maps` - (list) A list of DSCP to Priority Maps (ACI object [qosDscpClass](https://pubhub.devnetcloud.com/media/model-doc-latest/docs/app/index.html#/objects/qosDscpClass/overview)). DSCP to Priority Maps can also be configured using a separate [aci_dscp_to_priority_map](https://registry.terraform.io/providers/CiscoDevNet/aci/latest/docs/resources/dscp_to_priority_map) resource.

#### Required ####

* `from` (from) - (string) The DSCP range starting value.
* `to` (to) - (string) The DSCP range ending value.

#### Optional ####

* `annotation` (annotation) - (string) The annotation of the DSCP to Priority Map object.
- Default: `orchestrator:terraform`
* `description` (descr) - (string) The description of the DSCP to Priority Map object.
* `name` (name) - (string) The name of the DSCP to Priority Map object.
* `name_alias` (nameAlias) - (string) The name alias of the DSCP to Priority Map object.
* `priority` (prio) - (string) The Quality of Service (QoS) priority class ID. QoS refers to the capability of a network to provide better service to selected network traffic over various technologies. The primary goal of QoS is to provide priority including dedicated bandwidth, controlled jitter and latency (required by some real-time and interactive traffic), and improved loss characteristics. You can configure the bandwidth of each QoS level using QoS profiles.
- Default: `unspecified`
- Valid Values: `level1`, `level2`, `level3`, `level4`, `level5`, `level6`, `unspecified`.
* `target` (target) - (string) The target of the DSCP to Priority Map object. This Fabric only supports DSCP mutation, Dot1P mutation is not supported.
- Default: `unspecified`
- Valid Values: `AF11`, `AF12`, `AF13`, `AF21`, `AF22`, `AF23`, `AF31`, `AF32`, `AF33`, `AF41`, `AF42`, `AF43`, `CS0`, `CS1`, `CS2`, `CS3`, `CS4`, `CS5`, `CS6`, `CS7`, `EF`, `VA`, `unspecified`.
* `target_cos` (targetCos) - (string) Target COS to be driven based on the range of input values of DSCP coming into the fabric.
- Default: `unspecified`
- Valid Values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `unspecified`.

* `annotations` - (list) A list of Annotations (ACI object [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 ####
Expand Down
Loading
Loading