#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Cisco Systems
# GNU General Public License v3.0+ (see LICENSE or https://www.gnu.org/licenses/gpl-3.0.txt)
DOCUMENTATION = r"""
---
module: wireless_profiles_id_policy_tags_policy_tag_id_v1
short_description: Resource module for Wireless Profiles Id Policy Tags Policy Tag
  Id V1
description:
  - Manage operations update and delete of the resource Wireless Profiles Id Policy
    Tags Policy Tag Id V1.
  - >
    This endpoint allows for the deletion of a specific `Policy Tag` associated with
    a given `Wireless Profile`. This
    API requires the `id` of the `Wireless Profile` and the `policyTagId` of the `Policy
    Tag` to be provided as path
    parameters.
  - >
    This endpoint allows updating the details of a specific `Policy Tag` associated
    with a given `Wireless Profile`.
    The `id` of the `Wireless Profile` and the `policyTagId` of the Policy Tag must
    be provided as path parameters,
    and the request body should contain the updated details of the `Policy Tag`. The
    `policyTagName` cannot be
    modified through this endpoint. Note When updating a Policy Tag, if the same set
    of AP Zones apZones is used for
    the same site or its parent site, the existing Policy Tag will be overridden by
    the new one.
version_added: '6.17.0'
extends_documentation_fragment:
  - cisco.dnac.module
author: Rafael Campos (@racampos)
options:
  apZones:
    description: Ap Zones.
    elements: str
    type: list
  id:
    description: Id path parameter. Wireless Profile Id.
    type: str
  policyTagId:
    description: PolicyTagId path parameter. Policy Tag Id.
    type: str
  policyTagName:
    description: Policy Tag Name.
    type: str
  siteIds:
    description: Site Ids.
    elements: str
    type: list
requirements:
  - dnacentersdk >= 2.4.9
  - python >= 3.5
seealso:
  - name: Cisco DNA Center documentation for Wireless DeleteASpecificPolicyTagFromAWirelessProfileV1
    description: Complete reference of the DeleteASpecificPolicyTagFromAWirelessProfileV1
      API.
    link:
      https://developer.cisco.com/docs/dna-center/#!delete-a-specific-policy-tag-from-a-wireless-profile
  - name: Cisco DNA Center documentation for Wireless UpdateASpecificPolicyTagForAWirelessProfileV1
    description: Complete reference of the UpdateASpecificPolicyTagForAWirelessProfileV1
      API.
    link:
      https://developer.cisco.com/docs/dna-center/#!update-a-specific-policy-tag-for-a-wireless-profile
notes:
  - SDK Method used are wireless.Wireless.delete_a_specific_policy_tag_from_a_wireless_profile_v1,
    wireless.Wireless.update_a_specific_policy_tag_for_a_wireless_profile_v1,
  - Paths used are delete /dna/intent/api/v1/wirelessProfiles/{id}/policyTags/{policyTagId},
    put /dna/intent/api/v1/wirelessProfiles/{id}/policyTags/{policyTagId},
"""
EXAMPLES = r"""
- name: Delete by id
  cisco.dnac.wireless_profiles_id_policy_tags_policy_tag_id_v1:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    state: absent
    id: string
    policyTagId: string
- name: Update by id
  cisco.dnac.wireless_profiles_id_policy_tags_policy_tag_id_v1:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    state: present
    apZones:
      - string
    id: string
    policyTagId: string
    policyTagName: string
    siteIds:
      - string
"""
RETURN = r"""
dnac_response:
  description: A dictionary or list with the response returned by the Cisco DNAC Python SDK
  returned: always
  type: dict
  sample: >
    {
      "response": {
        "taskId": "string",
        "url": "string"
      },
      "version": "string"
    }
"""
