#!/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: sites_device_credentials_apply_v1
short_description: Resource module for Sites Device Credentials Apply V1
description:
- Manage operation create of the resource Sites Device Credentials Apply V1.
- >
   When sync is triggered at a site with the credential that are associated to the same site, network devices in
   impacted sites child sites which are inheriting the credential get managed in inventory with the associated site
   credential. Credential gets configured on network devices before these get managed in inventory. Please make a
   note that cli credential wouldn't be configured on AAA authenticated devices but they just get managed with the
   associated site cli credential.
version_added: '6.15.0'
extends_documentation_fragment:
  - cisco.dnac.module
author: Rafael Campos (@racampos)
options:
  deviceCredentialId:
    description: It must be cli/snmpV2Read/snmpV2Write/snmpV3 Id.
    type: str
  siteId:
    description: Site Id.
    type: str
requirements:
- dnacentersdk >= 2.4.9
- python >= 3.5
seealso:
- name: Cisco DNA Center documentation for Network Settings SyncNetworkDevicesCredentialV1
  description: Complete reference of the SyncNetworkDevicesCredentialV1 API.
  link: https://developer.cisco.com/docs/dna-center/#!sync-network-devices-credential
notes:
  - SDK Method used are
    network_settings.NetworkSettings.sync_network_devices_credential_v1,

  - Paths used are
    post /dna/intent/api/v1/sites/deviceCredentials/apply,

"""

EXAMPLES = r"""
- name: Create
  cisco.dnac.sites_device_credentials_apply_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}}"
    deviceCredentialId: string
    siteId: 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: >
    {
      "version": "string",
      "response": {
        "url": "string",
        "taskId": "string"
      }
    }
"""
