File: //usr/lib/python3.9/site-packages/ansible_collections/cisco/dnac/plugins/modules/pnp_workflow.py
# -*- 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: pnp_workflow
short_description: Resource module for Pnp Workflow
description:
- Manage operations create, update and delete of the resource Pnp Workflow.
- Adds a PnP Workflow along with the relevant tasks in the workflow into the PnP database.
- Deletes a workflow specified by id.
- Updates an existing workflow.
version_added: '3.1.0'
extends_documentation_fragment:
- cisco.dnac.module
author: Rafael Campos (@racampos)
options:
_id:
description: Pnp Workflow's _id.
type: str
addToInventory:
description: AddToInventory flag.
type: bool
addedOn:
description: Pnp Workflow's addedOn.
type: int
configId:
description: Pnp Workflow's configId.
type: str
currTaskIdx:
description: Pnp Workflow's currTaskIdx.
type: int
description:
description: Pnp Workflow's description.
type: str
endTime:
description: Pnp Workflow's endTime.
type: int
execTime:
description: Pnp Workflow's execTime.
type: int
id:
description: Id path parameter.
type: str
imageId:
description: Pnp Workflow's imageId.
type: str
instanceType:
description: Pnp Workflow's instanceType.
type: str
lastupdateOn:
description: Pnp Workflow's lastupdateOn.
type: int
name:
description: Pnp Workflow's name.
type: str
startTime:
description: Pnp Workflow's startTime.
type: int
state_:
description: Pnp Workflow's state.
type: str
tasks:
description: Pnp Workflow's tasks.
elements: dict
suboptions:
currWorkItemIdx:
description: Pnp Workflow's currWorkItemIdx.
type: int
endTime:
description: Pnp Workflow's endTime.
type: int
name:
description: Pnp Workflow's name.
type: str
startTime:
description: Pnp Workflow's startTime.
type: int
state:
description: Pnp Workflow's state.
type: str
taskSeqNo:
description: Pnp Workflow's taskSeqNo.
type: int
timeTaken:
description: Pnp Workflow's timeTaken.
type: int
type:
description: Pnp Workflow's type.
type: str
workItemList:
description: Pnp Workflow's workItemList.
elements: dict
suboptions:
command:
description: Pnp Workflow's command.
type: str
endTime:
description: Pnp Workflow's endTime.
type: int
outputStr:
description: Pnp Workflow's outputStr.
type: str
startTime:
description: Pnp Workflow's startTime.
type: int
state:
description: Pnp Workflow's state.
type: str
timeTaken:
description: Pnp Workflow's timeTaken.
type: int
type: list
type: list
tenantId:
description: Pnp Workflow's tenantId.
type: str
type:
description: Pnp Workflow's type.
type: str
useState:
description: Pnp Workflow's useState.
type: str
version:
description: Pnp Workflow's version.
type: int
requirements:
- dnacentersdk >= 2.5.5
- python >= 3.5
seealso:
- name: Cisco DNA Center documentation for Device Onboarding (PnP) AddAWorkflow
description: Complete reference of the AddAWorkflow API.
link: https://developer.cisco.com/docs/dna-center/#!add-a-workflow
- name: Cisco DNA Center documentation for Device Onboarding (PnP) DeleteWorkflowById
description: Complete reference of the DeleteWorkflowById API.
link: https://developer.cisco.com/docs/dna-center/#!delete-workflow-by-id
- name: Cisco DNA Center documentation for Device Onboarding (PnP) UpdateWorkflow
description: Complete reference of the UpdateWorkflow API.
link: https://developer.cisco.com/docs/dna-center/#!update-workflow
notes:
- SDK Method used are
device_onboarding_pnp.DeviceOnboardingPnp.add_a_workflow,
device_onboarding_pnp.DeviceOnboardingPnp.delete_workflow_by_id,
device_onboarding_pnp.DeviceOnboardingPnp.update_workflow,
- Paths used are
post /dna/intent/api/v1/onboarding/pnp-workflow,
delete /dna/intent/api/v1/onboarding/pnp-workflow/{id},
put /dna/intent/api/v1/onboarding/pnp-workflow/{id},
"""
EXAMPLES = r"""
- name: Create
cisco.dnac.pnp_workflow:
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
_id: string
addToInventory: true
addedOn: 0
configId: string
currTaskIdx: 0
description: string
endTime: 0
execTime: 0
imageId: string
instanceType: string
lastupdateOn: 0
name: string
startTime: 0
state_: string
tasks:
- currWorkItemIdx: 0
endTime: 0
name: string
startTime: 0
state: string
taskSeqNo: 0
timeTaken: 0
type: string
workItemList:
- command: string
endTime: 0
outputStr: string
startTime: 0
state: string
timeTaken: 0
tenantId: string
type: string
useState: string
version: 0
- name: Delete by id
cisco.dnac.pnp_workflow:
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
- name: Update by id
cisco.dnac.pnp_workflow:
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
_id: string
addToInventory: true
addedOn: 0
configId: string
currTaskIdx: 0
description: string
endTime: 0
execTime: 0
id: string
imageId: string
instanceType: string
lastupdateOn: 0
name: string
startTime: 0
state_: string
tasks:
- currWorkItemIdx: 0
endTime: 0
name: string
startTime: 0
state: string
taskSeqNo: 0
timeTaken: 0
type: string
workItemList:
- command: string
endTime: 0
outputStr: string
startTime: 0
state: string
timeTaken: 0
tenantId: string
type: string
useState: string
version: 0
"""
RETURN = r"""
dnac_response:
description: A dictionary or list with the response returned by the Cisco DNAC Python SDK
returned: always
type: dict
sample: >
{
"_id": "string",
"state": "string",
"type": "string",
"description": "string",
"lastupdateOn": 0,
"imageId": "string",
"currTaskIdx": 0,
"addedOn": 0,
"tasks": [
{
"state": "string",
"type": "string",
"currWorkItemIdx": 0,
"taskSeqNo": 0,
"endTime": 0,
"startTime": 0,
"workItemList": [
{
"state": "string",
"command": "string",
"outputStr": "string",
"endTime": 0,
"startTime": 0,
"timeTaken": 0
}
],
"timeTaken": 0,
"name": "string"
}
],
"addToInventory": true,
"instanceType": "string",
"endTime": 0,
"execTime": 0,
"startTime": 0,
"useState": "string",
"configId": "string",
"name": "string",
"version": 0,
"tenantId": "string"
}
"""