netscaler.adc.rewriteaction (2.5.1) — module

Configuration for rewrite action resource.

| "added in version" 2.0.0 of netscaler.adc"

Authors: Sumanth Lingappa (@sumanth-lingappa)

preview | supported by community

Install collection

Install with ansible-galaxy collection install netscaler.adc:==2.5.1


Add to requirements.yml

  collections:
    - name: netscaler.adc
      version: 2.5.1

Description

Configuration for rewrite action resource.

Inputs

    
name:
    description:
    - Name for the user-defined rewrite action. Must begin with a letter, number, or the
      underscore character (_), and must contain only letters, numbers, and the hyphen
      (-), period (.) hash (#), space ( ), at (@), equals (=), colon (:), and underscore
      characters. Can be changed after the rewrite policy is added.
    - ''
    - 'The following requirement applies only to the Citrix ADC CLI:'
    - If the name includes one or more spaces, enclose the name in double or single quotation
      marks (for example, "my rewrite action" or 'my rewrite action').
    type: str

nsip:
    description:
    - The ip address of the NetScaler ADC appliance where the nitro API calls will be
      made.
    - The port can be specified with the colon (:). E.g. 192.168.1.1:555.
    required: true
    type: str

type:
    choices:
    - noop
    - delete
    - insert_http_header
    - delete_http_header
    - corrupt_http_header
    - insert_before
    - insert_after
    - replace
    - replace_http_res
    - delete_all
    - replace_all
    - insert_before_all
    - insert_after_all
    - clientless_vpn_encode
    - clientless_vpn_encode_all
    - clientless_vpn_decode
    - clientless_vpn_decode_all
    - insert_sip_header
    - delete_sip_header
    - corrupt_sip_header
    - replace_sip_res
    - replace_diameter_header_field
    - replace_dns_header_field
    - replace_dns_answer_section
    - replace_mqtt
    - delete_mqtt
    - insert_mqtt
    - insert_before_mqtt
    - insert_after_mqtt
    description:
    - 'Type of user-defined rewrite action. The information that you provide for, and
      the effect of, each type are as follows:: '
    - '* REPLACE <target> <string_builder_expr>. Replaces the string with the string-builder
      expression.'
    - '* REPLACE_ALL <target> <string_builder_expr> -search <search_expr>. In the request
      or response specified by <target>, replaces all occurrences of the string defined
      by <string_builder_expr> with the string defined by <search_expr>.'
    - '* REPLACE_HTTP_RES <string_builder_expr>. Replaces the complete HTTP response with
      the string defined by the string-builder expression.'
    - '* REPLACE_SIP_RES <target> - Replaces the complete SIP response with the string
      specified by <target>.'
    - '* INSERT_HTTP_HEADER <header_string_builder_expr> <contents_string_builder_expr>.
      Inserts the HTTP header specified by <header_string_builder_expr> and header contents
      specified by <contents_string_builder_expr>.'
    - '* DELETE_HTTP_HEADER <target>. Deletes the HTTP header specified by <target>.'
    - '* CORRUPT_HTTP_HEADER <target>. Replaces the header name of all occurrences of
      the HTTP header specified by <target> with a corrupted name, so that it will not
      be recognized by the receiver  Example: MY_HEADER is changed to MHEY_ADER.'
    - '* INSERT_BEFORE <target_expr> <string_builder_expr>. Finds the string specified
      in <target_expr> and inserts the string in <string_builder_expr> before it.'
    - '* INSERT_BEFORE_ALL <target> <string_builder_expr> -search <search_expr>. In the
      request or response specified by <target>, locates all occurrences of the string
      specified in <string_builder_expr> and inserts the string specified in <search_expr>
      before each.'
    - '* INSERT_AFTER <target_expr> <string_builder_expr>. Finds the string specified
      in <target_expr>, and inserts the string specified in <string_builder_expr> after
      it.'
    - '* INSERT_AFTER_ALL <target> <string_builder_expr> -search <search_expr>. In the
      request or response specified by <target>, locates all occurrences of the string
      specified by <string_builder_expr> and inserts the string specified by <search_expr>
      after each.'
    - '* DELETE <target>. Finds and deletes the specified target.'
    - '* DELETE_ALL <target> -search <string_builder_expr>. In the request or response
      specified by <target>, locates and deletes all occurrences of the string specified
      by <string_builder_expr>.'
    - '* REPLACE_DIAMETER_HEADER_FIELD <target> <field value>. In the request or response
      modify the header field specified by <target>. Use Diameter.req.flags.SET(<flag>)
      or Diameter.req.flags.UNSET<flag> as ''stringbuilderexpression'' to set or unset
      flags.'
    - '* REPLACE_DNS_HEADER_FIELD <target>. In the request or response modify the header
      field specified by <target>. '
    - '* REPLACE_DNS_ANSWER_SECTION <target>. Replace the DNS answer section in the response.
      This is currently applicable for A and AAAA records only. Use DNS.NEW_RRSET_A &
      DNS.NEW_RRSET_AAAA expressions to configure the new answer section.'
    - '* REPLACE_MQTT <target> <string_builder_expr> : Replace MQTT message fields specified
      in <target_expr> to the value specified in <string_builder_expr>'
    - '* INSERT_MQTT <string_builder_expr> : Insert the string_builder_expr to an appropriate
      packet field in the MQTT message.'
    - '* INSERT_AFTER_MQTT <target_expr> <string_builder_expr> : Insert a topic specified
      in <string_builder_expr> in the MQTT Subscribe or Unsubscribe message after the
      specified target_expr.'
    - '* INSERT_BEFORE_MQTT <target_expr> <string_builder_expr> : Insert a topic specified
      in <string_builder_expr> in the MQTT Subscribe or Unsubscribe message before the
      specified target_expr.'
    - '* DELETE_MQTT <target> : Deletes the specified target in the MQTT message.'
    type: str

state:
    choices:
    - present
    - absent
    - unset
    default: present
    description:
    - The state of the resource being configured by the module on the NetScaler ADC node.
    - When C(present), the resource will be added/updated configured according to the
      module's parameters.
    - When C(absent), the resource will be deleted from the NetScaler ADC node.
    - When C(unset), the resource will be unset on the NetScaler ADC node.
    type: str

search:
    description:
    - 'Search facility that is used to match multiple strings in the request or response.
      Used in the INSERT_BEFORE_ALL, INSERT_AFTER_ALL, REPLACE_ALL, and DELETE_ALL action
      types. The following search types are supported:'
    - '* Text ("text(string)") - A literal string. Example: -search text("hello")'
    - '* Regular expression ("regex(re<delimiter>regular exp<delimiter>)") - Pattern that
      is used to match multiple strings in the request or response. The pattern may be
      a PCRE-format regular expression with a delimiter that consists of any printable
      ASCII non-alphanumeric character except for the underscore (_) and space ( ) that
      is not otherwise used in the expression. Example: -search regex(re~^hello*~) The
      preceding regular expression can use the tilde (~) as the delimiter because that
      character does not appear in the regular expression itself.'
    - '* XPath ("xpath(xp<delimiter>xpath expression<delimiter>)") - An XPath expression
      to search XML. The delimiter has the same rules as for regex. Example: -search xpath(xp%/a/b%)'
    - '* JSON ("xpath_json(xp<delimiter>xpath expression<delimiter>)") - An XPath expression
      to search JSON. The delimiter has the same rules as for regex. Example: -search
      xpath_json(xp%/a/b%)'
    - 'NOTE: JSON searches use the same syntax as XPath searches, but operate on JSON
      files instead of standard XML files.'
    - '* HTML ("xpath_html(xp<delimiter>xpath expression<delimiter>)") - An XPath expression
      to search HTML. The delimiter has the same rules as for regex. Example: -search
      xpath_html(xp%/html/body%)'
    - 'NOTE: HTML searches use the same syntax as XPath searches, but operate on HTML
      files instead of standard XML files; HTML 5 rules for the file syntax are used;
      HTML 4 and later are supported.'
    - '* Patset ("patset(patset)") - A predefined pattern set. Example: -search patset("patset1").'
    - '* Datset ("dataset(dataset)") - A predefined dataset. Example: -search dataset("dataset1").'
    - '* AVP ("avp(avp number)") - AVP number that is used to match multiple AVPs in a
      Diameter/Radius Message. Example: -search avp(999)'
    - ''
    - 'Note: for all these the TARGET prefix can be used in the replacement expression
      to specify the text that was selected by the -search parameter, optionally adjusted
      by the -refineSearch parameter.'
    - 'Example: TARGET.BEFORE_STR(",")'
    type: str

target:
    description:
    - Expression that specifies which part of the request or response to rewrite.
    type: str

comment:
    description:
    - Comment. Can be used to preserve information about this rewrite action.
    type: str

newname:
    description:
    - 'New name for the rewrite action. '
    - Must begin with a letter, number, or the underscore character (_), and must contain
      only letters, numbers, and the hyphen (-), period (.) hash (#), space ( ), at (@),
      equals (=), colon (:), and underscore characters. Can be changed after the rewrite
      policy is added.
    - ''
    - 'The following requirement applies only to the Citrix ADC CLI:'
    - If the name includes one or more spaces, enclose the name in double or single quotation
      marks (for example, "my rewrite action" or 'my rewrite action').
    type: str

api_path:
    default: nitro/v1/config
    description:
    - Base NITRO API path.
    - Define only in case of an ADM service proxy call
    type: str

nitro_pass:
    description:
    - The password with which to authenticate to the NetScaler ADC node.
    required: false
    type: str

nitro_user:
    description:
    - The username with which to authenticate to the NetScaler ADC node.
    required: false
    type: str

save_config:
    default: false
    description:
    - If C(true) the module will save the configuration on the NetScaler ADC node if it
      makes any changes.
    - The module will not save the configuration on the NetScaler ADC node if it made
      no changes.
    type: bool

refinesearch:
    description:
    - 'Specify additional criteria to refine the results of the search. '
    - Always starts with the "extend(m,n)" operation, where 'm' specifies number of bytes
      to the left of selected data and 'n' specifies number of bytes to the right of selected
      data to extend the selected area.
    - You can use refineSearch only on body expressions, and for the INSERT_BEFORE_ALL,
      INSERT_AFTER_ALL, REPLACE_ALL, and DELETE_ALL action types.
    - 'Example: -refineSearch ''EXTEND(10, 20).REGEX_SELECT(re~0x[0-9a-zA-Z]+~).'
    type: str

nitro_protocol:
    choices:
    - http
    - https
    default: https
    description:
    - Which protocol to use when accessing the nitro API objects.
    type: str

validate_certs:
    default: true
    description:
    - If C(false), SSL certificates will not be validated. This should only be used on
      personally controlled sites using self-signed certificates.
    required: false
    type: bool

nitro_auth_token:
    description:
    - The authentication token provided by a login operation.
    type: str
    version_added: 2.6.0
    version_added_collection: netscaler.adc

stringbuilderexpr:
    description:
    - Expression that specifies the content to insert into the request or response at
      the specified location, or that replaces the specified string.
    type: str

Outputs

changed:
  description: Indicates if any change is made by the module
  returned: always
  sample: true
  type: bool
diff:
  description: Dictionary of before and after changes
  returned: always
  sample:
    after:
      key2: pqr
    before:
      key1: xyz
    prepared: changes done
  type: dict
diff_list:
  description: List of differences between the actual configured object and the configuration
    specified in the module
  returned: when changed
  sample:
  - 'Attribute `key1` differs. Desired: (<class ''str''>) XYZ. Existing: (<class ''str''>)
    PQR'
  type: list
failed:
  description: Indicates if the module failed or not
  returned: always
  sample: false
  type: bool
loglines:
  description: list of logged messages by the module
  returned: always
  sample:
  - message 1
  - message 2
  type: list