#!/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: authentication_import_certificate
short_description: Resource module for Authentication Import Certificate
description:
  - Manage operation create of the resource Authentication Import Certificate.
  - This API enables a user to import a PEM certificate and its key for the controller and/or disaster recovery.
version_added: '3.1.0'
extends_documentation_fragment:
  - cisco.dnac.module
author: Rafael Campos (@racampos)
options:
  certFilePath:
    description: Cert file absolute path.
    type: str
  listOfUsers:
    description: ListOfUsers query parameter. Specify whether the certificate will be used for controller ("server"), disaster
      recovery ("ipsec") or both ("server, ipsec"). If no value is provided, the default value taken will be "server".
    elements: str
    type: list
  pkFilePath:
    description: Pk file absolute path.
    type: str
  pkPassword:
    description: PkPassword query parameter. Password for encrypted private key.
    type: str
requirements:
  - dnacentersdk >= 2.11.0
  - python >= 3.12
seealso:
  - name: Cisco DNA Center documentation for Authentication Management ImportCertificate
    description: Complete reference of the ImportCertificate API.
    link: https://developer.cisco.com/docs/dna-center/#!import-certificate
notes:
  - SDK Method used are
    authentication_management.AuthenticationManagement.import_certificate,
  - Paths used are
    post /dna/intent/api/v1/certificate,
"""

EXAMPLES = r"""
---
- name: Create
  cisco.dnac.authentication_import_certificate:
    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}}"
    certFilePath: /tmp/uploads/Test-242.pem
    listOfUsers: []
    pkFilePath: /tmp/uploads/Test-242.key
    pkPassword: 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"
    }
"""
