cisco.catalystcenter.compliance_policys_rules_variables module -- Resource module for Compliance Policys Rules Variables

Note

This module is part of the cisco.catalystcenter collection (version 2.12.0).

To install it, use: ansible-galaxy collection install cisco.catalystcenter. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: cisco.catalystcenter.compliance_policys_rules_variables.

New in cisco.catalystcenter 2.3.0

Synopsis

  • Manage operations create, update and delete of the resource Compliance Policys Rules Variables.

  • This API operation creates a new variable within the specified compliance policy and rule.

  • Deletes a specific variable within the specified compliance policy and rule.

  • Updates an existing compliance variable within the specified compliance policy and rule.

Note

This module has a corresponding action plugin.

Requirements

The below requirements are needed on the host that executes this module.

  • catalystcentersdk >= 3.2.3.0.0

  • python >= 3.12

Parameters

Parameter

Comments

catalystcenter_debug

aliases: dnac_debug

boolean

Flag for Cisco Catalyst Center SDK to enable debugging.

Choices:

catalystcenter_host

aliases: dnac_host

string / required

The Cisco Catalyst Center hostname.

catalystcenter_password

aliases: dnac_password

string

The Cisco Catalyst Center password to authenticate.

catalystcenter_port

aliases: dnac_port, catalystcenter_api_port

integer

The Cisco Catalyst Center port.

Default: :ansible-option-default:`443`

catalystcenter_username

aliases: dnac_username, user

string

The Cisco Catalyst Center username to authenticate.

Default: :ansible-option-default:`"admin"`

catalystcenter_verify

aliases: dnac_verify

boolean

Flag to enable or disable SSL certificate verification.

Choices:

catalystcenter_version

aliases: dnac_version

string

Informs the SDK which version of Cisco Catalyst Center to use.

Default: :ansible-option-default:`"3.1.6.0"`

dataType

string

The data type of the variable. IP mask is supported in IP address form (e.g., 255.255.255.0) only. Interface names must be provided in their full form, such as GigabitEthernet1/0/1.

defaultValue

string

The default value for the variable. This is applicable when `inputType` is `SINGLE_TEXT` or `MULTI_TEXT`. Ensure that any type of data is formatted as a string, but it must match the required format for the data type and adhere to any provided constraints.

description

string

A brief description of the variable.

id

string

The `id` of the variable.

identifier

string

This is the identifier of the variable. Variables are referenced using the identifier enclosed in angle brackets. Update operation cannot be used to change the identifier.

inputType

string

The input type of the variable. - `SINGLE_SELECT` The variable allows for the selection of a single value from a predefined list of options specified in the `selectionList`. It is applicable only when the `dataType` is `STRING`, `INTEGER`, or `BOOLEAN`. - `MULTI_SELECT` The variable permits the selection of multiple values from a predefined list of options specified in the `selectionList`. It is applicable only when the `dataType` is `STRING` or `INTEGER`. - `SINGLE_TEXT` The variable accepts a single text input from the user after policy assignment. - `MULTI_TEXT` The variable allows the user to enter multiple text inputs after policy assignment. It is not applicable when the `dataType` is `BOOLEAN`.

mandatory

boolean

Indicates if the variable is mandatory.

Choices:

maxLength

integer

The maximum length constraint for the `STRING` values. This is only applicable when the `inputType` is `SINGLE_TEXT` or `MULTI_TEXT`.

maxValue

integer

The maximum value constraint for the `INTEGER` variable. This is only applicable when the `inputType` is `SINGLE_TEXT` or `MULTI_TEXT`.

minValue

integer

The minimum value constraint for the `INTEGER` variable. This is only applicable when the `inputType` is `SINGLE_TEXT` or `MULTI_TEXT`.

name

string

This is the name of the variable. It should be a concise and descriptive title that clearly identifies the variable. The name must be unique within the specified rule.

policyId

string

PolicyId path parameter. The `id` of the compliance policy.

ruleId

string

RuleId path parameter. The `id` of the rule within the compliance policy.

selectionList

list / elements=dictionary

A list of selection options from which to choose a value. This is applicable when the `dataType` is `STRING`, `INTEGER`, or `BOOLEAN`, and it is required when the `inputType` is either `SINGLE_SELECT` or `MULTI_SELECT`.

default

boolean

Indicates whether this selection option is the default. Depending on the `inputType`, either only one or multiple selection options can be set as default.

Choices:

key

string

The key for the selection option, which uniquely identifies the value.

value

string

This is the value for the selection option. Ensure that any type of data is formatted as a string, but it must match the required format for the data type and adhere to any provided constraints.

sequenceNumber

integer

The sequence number of the variable that determines the display order, helping to provide values in a structured manner.

usedByConditions

list / elements=string

An array of condition IDs that are using this variable.

validate_response_schema

boolean

Flag for Cisco Catalyst Center SDK to enable the validation of request bodies against a JSON schema.

Choices:

validationRegex

string

A regular expression pattern for constraining `STRING` values. This is only applicable when the `inputType` is `SINGLE_TEXT` or `MULTI_TEXT`.

Notes

Note

  • SDK Method used are compliance.Compliance.create_a_new_variable, compliance.Compliance.delete_a_specific_variable, compliance.Compliance.update_an_existing_variable,

  • Paths used are post /dna/intent/api/v1/compliancePolicys/{policyId}/rules/{ruleId}/variables, delete /dna/intent/api/v1/compliancePolicys/{policyId}/rules/{ruleId}/variables/{id}, put /dna/intent/api/v1/compliancePolicys/{policyId}/rules/{ruleId}/variables/{id},

  • Does not support check_mode

  • The plugin runs on the control node and does not use any ansible connection plugins,

  • but instead uses the embedded connection manager from Cisco CATALYST SDK

  • Requires Python >= 3.10, matching the controller Python versions supported by the collection's minimum ansible-core version (see the collection README for the current ansible-core / Python compatibility range)

See Also

See also

Cisco Catalyst Center documentation for Compliance CreateANewVariable

Complete reference of the CreateANewVariable API.

Cisco Catalyst Center documentation for Compliance DeleteASpecificVariable

Complete reference of the DeleteASpecificVariable API.

Cisco Catalyst Center documentation for Compliance UpdateAnExistingVariable

Complete reference of the UpdateAnExistingVariable API.

Examples

---
- name: Create
  cisco.catalystcenter.compliance_policys_rules_variables:
    catalystcenter_host: "{{catalystcenter_host}}"
    catalystcenter_username: "{{catalystcenter_username}}"
    catalystcenter_password: "{{catalystcenter_password}}"
    catalystcenter_verify: "{{catalystcenter_verify}}"
    catalystcenter_port: "{{catalystcenter_port}}"
    catalystcenter_version: "{{catalystcenter_version}}"
    catalystcenter_debug: "{{catalystcenter_debug}}"
    state: present
    dataType: string
    defaultValue: string
    description: string
    id: string
    identifier: string
    inputType: string
    mandatory: true
    maxLength: 0
    maxValue: 0
    minValue: 0
    name: string
    policyId: c9eef5e2-1eab-426c-be77-97ee81dcba05
    ruleId: e8eef5e2-1eab-426c-be77-97ee81dcba06
    selectionList:
      - default: true
        key: string
        value: string
    sequenceNumber: 0
    usedByConditions:
      - string
    validationRegex: string
- name: Update by id
  cisco.catalystcenter.compliance_policys_rules_variables:
    catalystcenter_host: "{{catalystcenter_host}}"
    catalystcenter_username: "{{catalystcenter_username}}"
    catalystcenter_password: "{{catalystcenter_password}}"
    catalystcenter_verify: "{{catalystcenter_verify}}"
    catalystcenter_port: "{{catalystcenter_port}}"
    catalystcenter_version: "{{catalystcenter_version}}"
    catalystcenter_debug: "{{catalystcenter_debug}}"
    state: present
    dataType: string
    defaultValue: string
    description: string
    id: string
    inputType: string
    mandatory: true
    maxLength: 0
    maxValue: 0
    minValue: 0
    name: string
    policyId: c9eef5e2-1eab-426c-be77-97ee81dcba05
    ruleId: e8eef5e2-1eab-426c-be77-97ee81dcba06
    selectionList:
      - default: true
        key: string
        value: string
    sequenceNumber: 0
    validationRegex: string
- name: Delete by id
  cisco.catalystcenter.compliance_policys_rules_variables:
    catalystcenter_host: "{{catalystcenter_host}}"
    catalystcenter_username: "{{catalystcenter_username}}"
    catalystcenter_password: "{{catalystcenter_password}}"
    catalystcenter_verify: "{{catalystcenter_verify}}"
    catalystcenter_port: "{{catalystcenter_port}}"
    catalystcenter_version: "{{catalystcenter_version}}"
    catalystcenter_debug: "{{catalystcenter_debug}}"
    state: absent
    id: 7aa85f96-fac2-49c0-89a5-b6c2df2bfa48
    policyId: c9eef5e2-1eab-426c-be77-97ee81dcba05
    ruleId: e8eef5e2-1eab-426c-be77-97ee81dcba06

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

catalystcenter_response

dictionary

A dictionary or list with the response returned by the Cisco Catalyst Center Python SDK

Returned: always

Sample: :ansible-rv-sample-value:`{"response": {"taskId": "string", "url": "string"}, "version": "string"}`

Authors

  • Bryan Vargas (@bvargasre)