ciena.saos10.saos10_classifiers (1.7.0) — module

Manage classifiers on Ciena SAOS 10 devices

Authors: Jeff Groom (@jgroom33)

This plugin has a corresponding action plugin.

Install collection

Install with ansible-galaxy collection install ciena.saos10:==1.7.0


Add to requirements.yml

  collections:
    - name: ciena.saos10
      version: 1.7.0

Description

This module provides declarative management of a classifier on Ciena SAOS 10 devices.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Using merged

- name: Configure classifier
  ciena.saos10.saos10_classifiers:
    config:
      - name: untagged
        filter_entry:
          - filter_parameter: vtag-stack
            untagged_exclude_priority_tagged: false
      - name: foo-100
        filter_entry:
          - filter_parameter: vtag-stack
            vtags:
              - tag: 1
                vlan_id: 100
    state: merged
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Using deleted

- name: Delete classifier
  ciena.saos10.saos10_classifiers:
    config:
      - name: untagged
      - name: foo-100
    state: deleted

Inputs

    
state:
    choices:
    - merged
    - deleted
    default: merged
    description: The state of the configuration after module completion.
    type: str

config:
    description: List of classifier templates. Classifiers can be referenced by various
      entities (flow-point/access-flow/qos-flow etc.) to define their incoming classification.
    elements: dict
    suboptions:
      filter_entry:
        description: Add one filtering rule for this classifier.
        elements: dict
        suboptions:
          any:
            description: Accept any classification. Wide-Open classifier
            required: false
            type: str
          base_ethertype:
            description: Base Ethernet type.
            required: false
            type: int
          destination_address:
            description: Classification on IP destination-address (v4/v6) and masking.
            required: false
            type: str
          destination_mac:
            description: Destination MAC address.
            required: false
            type: str
          destination_mac_mask:
            description: The mask of destination MAC address.
            required: false
            type: str
          destination_max:
            description: Maximum value of L4 destination port number.
            required: false
            type: int
          destination_min:
            description: Exact/Minimum value of L4 destination port number.
            required: false
            type: int
          dscp_mask:
            description: Allow DSCP values to be optionally coupled with a mask in a single
              classifier. Mutually exclusive to dscp-max
            required: false
            type: int
          dscp_max:
            description: The maximum value of DSCP for ranged DSCP values in a single
              classifier. Mutually exclusive to dscp-mask
            required: false
            type: int
          dscp_min:
            description: The minimum value of DSCP.
            required: false
            type: int
          filter_parameter:
            description: Indicates which filter parameter is used by this filter entry
            required: false
            type: str
          icmp_message_type:
            choices:
            - echo-reply
            - destination-unreachable
            - redirect-message
            - echo-request
            - router-advertisement
            - router-solicitation
            - time-exceeded
            - parameter-problem
            - timestamp
            - timestamp-reply
            description: ICMP Message type.
            required: false
            type: str
          icmp_type:
            description: ICMP type.
            required: false
            type: int
          internal_cos:
            description: To specify the Internal Class-Of-Service for the classifier.
            required: false
            type: int
          internal_cos_mask:
            description: Allow internal-COS values to be optionally coupled with a mask
              in a single classifier.
            required: false
            type: int
          ip_fragment:
            description: IP-fragment bit true/false
            required: false
            type: bool
          ip_version:
            choices:
            - ipv4
            - ipv6
            description: To specify the IP version for the classifier.
            required: false
            type: str
          l2cp_exclude_priority_tagged:
            description: L2CP exclude priority tagged.
            required: false
            type: bool
          l4_application:
            choices:
            - twamp
            description: L4 application.
            required: false
            type: str
          local_termination:
            description: Classification of frames which are locally terminated.
            required: false
            type: bool
          logical_not:
            description: Opposite of what is specified in the filter-parameters. If the
              filter-parameter specifies a tpid as tpid-8100, then anything other than
              tpid-8100 is considered an acceptable packet.
            required: false
            type: bool
          max_prot:
            description: Maximum value of IP protocol.
            required: false
            type: int
          min_prot:
            description: Exact/Minimum value of IP protocol.
            required: false
            type: int
          mpls_labels:
            description: List of MPLS labels.
            elements: dict
            suboptions:
              label:
                description: No description available
                required: false
                type: int
              label_any:
                description: Any value of mpls-label.
                required: false
                type: str
              mpls_label:
                description: A specific value of mpls-label.
                required: false
                type: int
              tc_any:
                description: Any value of mpls TC.
                required: false
                type: str
              tc_value:
                description: A specific value of mpls TC.
                required: false
                type: int
            type: list
          source_address:
            description: Classification on IP source-address (v4/v6) and masking.
            required: false
            type: str
          source_mac:
            description: Source MAC address.
            required: false
            type: str
          source_mac_mask:
            description: The mask of source MAC address.
            required: false
            type: str
          source_max:
            description: Maximum value of L4 source port number.
            required: false
            type: int
          source_min:
            description: Exact/Minimum value of L4 source port number.
            required: false
            type: int
          tcp_flags:
            description: List of TCP flags.
            required: false
            type: str
          untagged_exclude_priority_tagged:
            description: Untagged exclude priority tagged.
            required: false
            type: bool
          vtags:
            description: List of VLAN tags.
            elements: dict
            suboptions:
              dei:
                choices:
                - discard-eligible
                - not-discard-eligible
                description: Discard Eligibility Indication
                required: false
                type: str
              pcp:
                description: A specific value of VLAN Tag PCP.
                required: false
                type: int
              pcp_mask:
                description: Allow PCP values to be optionally coupled with a mask in
                  a single classifier
                required: false
                type: int
              tag:
                description: '''1'' represents outer most tag, ''2'' next outer most,
                  etc'
                required: false
                type: int
              tpid:
                choices:
                - tpid-8100
                - tpid-88a8
                - tpid-9100
                description: A specific value of VLAN Tag EtherType.
                required: false
                type: str
              vlan_id:
                description: A specific value of VLAN Tag VLAN-ID.
                required: false
                type: int
              vlan_id_max:
                description: The maximum value of VLAN ID for ranged VLAN-ID values.
                required: false
                type: int
            type: list
        type: list
      filter_operation:
        choices:
        - match-all
        - match-any
        description: Choose the scope of application of the rule
        required: false
        type: str
      name:
        description: A unique name for the classifier.
        required: false
        type: str
    type: list

Outputs

after:
  description: The resulting configuration model invocation.
  returned: when changed
  sample: "The configuration returned will always be in the same format\n of the parameters\
    \ above.\n"
  type: dict
before:
  description: The configuration prior to the model invocation.
  returned: always
  sample: "The configuration returned will always be in the same format\n of the parameters\
    \ above.\n"
  type: dict
xml:
  description: The set of xml commands pushed to the remote device.
  returned: always
  sample:
  - <system xmlns="http://openconfig.net/yang/system"><config><hostname>foo</hostname></config></system>
  type: list