summaryrefslogtreecommitdiffstats
path: root/ansible_collections/cisco/dnac/plugins/modules/sda_provision_devices.py
blob: aafc283c8952576de0e6da30268fe49d0b11baa6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#!/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: sda_provision_devices
short_description: Resource module for Sda Provisiondevices
description:
- Manage operations create, update and delete of the resource Sda Provisiondevices.
- Provisions network devices to respective Sites based on user input.
- Delete provisioned devices based on query parameters.
- Deletes provisioned device based on Id.
- Re-provisions network devices to the site based on the user input.
version_added: '6.14.0'
extends_documentation_fragment:
  - cisco.dnac.module
author: Rafael Campos (@racampos)
options:
  id:
    description: Id path parameter. ID of provisioned device.
    type: str
  networkDeviceId:
    description: NetworkDeviceId query parameter. ID of the network device.
    type: str
  payload:
    description: Sda Provision Devices's payload.
    elements: dict
    suboptions:
      networkDeviceId:
        description: ID of network device to be provisioned.
        type: str
      siteId:
        description: ID of the site this network device needs to be provisioned.
        type: str
    type: list
  siteId:
    description: SiteId query parameter. ID of the site hierarchy.
    type: str
requirements:
- dnacentersdk >= 2.7.1
- python >= 3.5
seealso:
- name: Cisco DNA Center documentation for SDA ProvisionDevices
  description: Complete reference of the ProvisionDevices API.
  link: https://developer.cisco.com/docs/dna-center/#!provision-devices
- name: Cisco DNA Center documentation for SDA DeleteProvisionedDeviceById
  description: Complete reference of the DeleteProvisionedDeviceById API.
  link: https://developer.cisco.com/docs/dna-center/#!delete-provisioned-device-by-id
- name: Cisco DNA Center documentation for SDA DeleteProvisionedDevices
  description: Complete reference of the DeleteProvisionedDevices API.
  link: https://developer.cisco.com/docs/dna-center/#!delete-provisioned-devices
- name: Cisco DNA Center documentation for SDA ReProvisionDevices
  description: Complete reference of the ReProvisionDevices API.
  link: https://developer.cisco.com/docs/dna-center/#!re-provision-devices
notes:
  - SDK Method used are
    sda.Sda.delete_provisioned_device_by_id,
    sda.Sda.provision_devices,
    sda.Sda.re_provision_devices,

  - Paths used are
    post /dna/intent/api/v1/sda/provisionDevices,
    delete /dna/intent/api/v1/sda/provisionDevices,
    delete /dna/intent/api/v1/sda/provisionDevices/{id},
    put /dna/intent/api/v1/sda/provisionDevices,

"""

EXAMPLES = r"""
- name: Delete all
  cisco.dnac.sda_provision_devices:
    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
    networkDeviceId: string
    siteId: string

- name: Create
  cisco.dnac.sda_provision_devices:
    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
    payload:
    - networkDeviceId: string
      siteId: string

- name: Update all
  cisco.dnac.sda_provision_devices:
    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
    payload:
    - id: string
      networkDeviceId: string
      siteId: string

- name: Delete by id
  cisco.dnac.sda_provision_devices:
    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

"""
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"
    }
"""