### Install Catalyst WAN SDK Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Use pip to install the catalystwan package. This is the first step before using the SDK. ```console pip install catalystwan ``` -------------------------------- ### Install Dependencies with Poetry Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/CONTRIBUTING.md Install all project dependencies using Poetry after setting up the environment. ```bash poetry install ``` -------------------------------- ### Process Install Operation Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Processes an installation operation on a device. ```APIDOC ## POST /device/action/install ### Description Processes an installation operation on a device. ### Method POST ### Endpoint /device/action/install ### Parameters #### Request Body - **body** (InstallActionPayload) - Required - The payload for the install operation. ### Response #### Success Response (200) - **data** (ActionId) - The ID of the action performed. ``` -------------------------------- ### Install Wheel Package Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/CONTRIBUTING.md Install the generated .whl file using pip. Replace with the actual version number. ```bash pip install catalystwan--py3-none-any.whl ``` -------------------------------- ### ConfigurationDeviceActions.process_install_operation Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Processes an installation operation for devices. ```APIDOC ## POST /device/action/install ### Description This endpoint initiates and processes an installation operation for devices. It requires a payload specifying the installation details. ### Method POST ### Endpoint /device/action/install ### Parameters #### Request Body - **InstallActionPayload** (object) - Required - The payload containing details for the installation action. ### Response #### Success Response (200) - **ActionId** (object) - An object containing the identifier for the initiated action. ``` -------------------------------- ### Get Software Install Timeout Settings Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/docs/source/catalystwan/catalystwan.api.md Retrieves the timeout settings for software installations. ```python session.api.administration.get_software_install_timeout() ``` -------------------------------- ### Install Poetry and Configure Virtual Environment Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/CONTRIBUTING.md Install Poetry (version 1.3.1 or higher) and configure it to use a project-local virtual environment. This is typically done on Linux/macOS. ```bash curl -sSL https://install.python-poetry.org | python3 - ``` ```bash poetry config virtualenvs.in-project true ``` -------------------------------- ### Get Installed Devices Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves a list of devices of a specific type that are installed. ```APIDOC ## GET /device/action/install/devices/{device_type} ### Description Retrieves a list of devices of a specific type that are installed. ### Method GET ### Endpoint /device/action/install/devices/{device_type} ### Parameters #### Path Parameters - **device_type** (string) - Required - The type of device to list. ### Response #### Success Response (200) - **data** (DataSequence[InstalledDeviceData]) - A sequence of installed device data. ``` -------------------------------- ### Get Software Install Timeout Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the timeout configuration for software installation. ```APIDOC ## GET /settings/configuration/softwareMaintenance ### Description Retrieves the timeout settings for software installation processes. ### Method GET ### Endpoint /settings/configuration/softwareMaintenance ### Response #### Success Response (200) - **SoftwareInstallTimeout** (DataSequence) - The data structure containing the software installation timeout configuration. ``` -------------------------------- ### Get Certificates Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves the list of certificates installed on the network devices. ```APIDOC ## GET /settings/configuration/certificate ### Description Retrieves the list of certificates. ### Method GET ### Endpoint /settings/configuration/certificate ### Response #### Success Response (200) - **DataSequence[Certificate]** - A list of certificates. ``` -------------------------------- ### ConfigurationDeviceActions.get_list_of_installed_devices Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves a list of installed devices of a specified type. ```APIDOC ## GET /device/action/install/devices/{device_type} ### Description This endpoint retrieves a list of devices that have been successfully installed, filtered by the specified device type. ### Method GET ### Endpoint /device/action/install/devices/{device_type} ### Parameters #### Path Parameters - **device_type** (string) - Required - The type of devices to list. ### Response #### Success Response (200) - **DataSequence[InstalledDeviceData]** (array) - A sequence of objects, each representing an installed device. ``` -------------------------------- ### Get Certificates Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves all certificates configured in the system. ```APIDOC ## GET /settings/configuration/certificate ### Description Retrieves all configured certificates. ### Method GET ### Endpoint /settings/configuration/certificate ### Response #### Success Response (200) - **DataSequence** (DataSequence[[**Certificate**]]) - A sequence of certificate objects. ``` -------------------------------- ### Get Banner Configuration Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the banner configuration for the system. ```APIDOC ## GET /settings/configuration/banner ### Description Retrieves the banner configuration. ### Method GET ### Endpoint /settings/configuration/banner ### Response #### Success Response (200) - **DataSequence** (DataSequence[[**Banner**]]) - The banner configuration object. ``` -------------------------------- ### Set Software Install Timeout Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/docs/source/catalystwan/catalystwan.api.md Sets the timeout values for software download and activation. ```python session.api.administration.set_software_install_timeout(download_timeout_min=30, activate_timeout_min=60) ``` -------------------------------- ### Threading Example Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Demonstrates how to use the SDK in a multi-threaded environment, ensuring thread-safe session management. ```APIDOC ## Threading ### Description Threading can be achieved by using a shared auth object with sessions in each thread. As `ManagerSession` is not guaranteed to be thread-safe, it is recommended to create one session per thread. `ManagerSession` also comes with a default `RequestLimiter`, which limits the number of concurrent requests to 50. ### Request Example ```python from threading import Thread from catalystwan.session import ManagerSession from catalystwan.vmanage_auth import vManageAuth from copy import copy def print_devices(manager: ManagerSession): # using context manager (recommended) with manager.login() as session: print(session.api.devices.get()) if __name__ =="__main__": # 1. Create shared authentication handler for user session auth = vManageAuth(username="username", password="password") # 2. Configure session with base url and attach authentication handler manager = ManagerSession(base_url="https://url:port", auth=auth) # 3. Make sure each thread gets own copy of ManagerSession object t1 = Thread(target=print_devices, args=(manager,)) t2 = Thread(target=print_devices, args=(copy(manager),)) t3 = Thread(target=print_devices, args=(copy(manager),)) t1.start() t2.start() t3.start() t1.join() t2.join() t3.join() print("Done!") ``` ### Custom Request Limiter If you wish to modify the limit, you can pass a modified `RequestLimiter` to `ManagerSession`: ```python from catalystwan.session import ManagerSession from catalystwan.vmanage_auth import vManageAuth from catalystwan.request_limiter import RequestLimiter auth = vManageAuth(username="username", password="password") limiter = RequestLimiter(max_requests=30) manager = ManagerSession(base_url="https://url:port", auth=auth, request_limiter=limiter) ``` ``` -------------------------------- ### Get Devices Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves a list of all devices. Returns a sequence of Device objects. ```APIDOC ## GET /settings/configuration/device ### Description Retrieves a list of all devices. ### Method GET ### Endpoint /settings/configuration/device ### Response #### Success Response (200) - **DataSequence[Device]** (array) - A sequence of device objects. #### Response Example ```json { "example": "response body containing a list of Device objects" } ``` ``` -------------------------------- ### Create Manager Session and Get Devices Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Demonstrates how to create a manager session using `create_manager_session` and retrieve devices. The session is automatically managed as a context manager. ```python from catalystwan.session import create_manager_session url = "example.com" username = "admin" password = "password123" with create_manager_session(url=url, username=username, password=password) as session: devices = session.api.devices.get() print(devices) ``` -------------------------------- ### Get Disaster Recovery Details Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves detailed information about the current disaster recovery setup. ```APIDOC ## GET /disasterrecovery/details ### Description Retrieves the details of the disaster recovery configuration. ### Method GET ### Endpoint /disasterrecovery/details ### Parameters #### Response - **DisasterRecoveryDetailsResponse** (object) - An object containing detailed information about the disaster recovery setup. ``` -------------------------------- ### Get All Policy Lists (AS Path) Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves all AS Path policy lists. ```APIDOC ## GET /template/policy/list/aspath ### Description Retrieves all AS Path policy lists. ### Method GET ### Endpoint /template/policy/list/aspath ### Response #### Success Response (200) - **DataSequence[[ASPathListInfo]]** (object) - A sequence of AS Path policy list information objects. ``` -------------------------------- ### Edit Software Install Timeout Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Configures the timeout for software installation processes. ```APIDOC ## PUT /settings/configuration/softwareMaintenance ### Description Edits the software installation timeout configuration. ### Method PUT ### Endpoint /settings/configuration/softwareMaintenance ### Request Body - **softwareInstallTimeout** (SoftwareInstallTimeout) - Required - The software installation timeout configuration. ### Response #### Success Response (200) - **message** (str) - Indicates the success of the operation. ``` -------------------------------- ### Build Wheel Package Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/CONTRIBUTING.md Run this command to build a .whl file for testing. The file will be located in the /catalystwan/dist/ directory. ```bash poetry build ``` -------------------------------- ### Create Tenant Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Creates a new tenant in the system. ```APIDOC ## POST /tenant ### Description Creates a new tenant with the provided details. ### Method POST ### Endpoint /tenant ### Parameters (No parameters specified in the source) ### Request Body - **Tenant** (object) - The tenant object containing details for the new tenant. ### Response #### Success Response (200) - **Tenant** (object) - The created tenant object. ### Response Example (No example provided in the source) ``` -------------------------------- ### Get All Policy Prefix Lists Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves all available policy prefix lists. ```APIDOC ## GET /template/policy/list/prefix ### Description This endpoint retrieves all available policy prefix lists. ### Method GET ### Endpoint /template/policy/list/prefix ### Response #### Success Response (200) - **dataSequence** (DataSequence[PrefixListInfo]) - A sequence of prefix list information. #### Response Example { "dataSequence": [ { "example": "prefix list info" } ] } ``` -------------------------------- ### Create Tenant Async Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Initiates the asynchronous creation of a new tenant. ```APIDOC ## POST /tenant/async ### Description Asynchronously creates a new tenant. Returns a task ID for tracking the operation. ### Method POST ### Endpoint /tenant/async ### Parameters (No parameters specified in the source) ### Request Body - **Tenant** (object) - The tenant object containing details for the new tenant. ### Response #### Success Response (200) - **TenantTaskId** (object) - An object containing the task ID for the asynchronous operation. ### Response Example (No example provided in the source) ``` -------------------------------- ### Install pre-commit Hooks Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/CONTRIBUTING.md Activate pre-commit hooks to ensure code quality and style consistency before committing changes. ```bash pre-commit install ``` -------------------------------- ### Create Tenant Async Bulk Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Initiates the asynchronous creation of multiple tenants. ```APIDOC ## POST /tenant/bulk/async ### Description Asynchronously creates multiple tenants in bulk. Returns a task ID for tracking the operation. Requires version >= 20.4. ### Method POST ### Endpoint /tenant/bulk/async ### Parameters (No parameters specified in the source) ### Request Body - **Tenant** (list) - A list of tenant objects to be created. ### Response #### Success Response (200) - **TenantTaskId** (object) - An object containing the task ID for the asynchronous operation. ### Response Example (No example provided in the source) ``` -------------------------------- ### Get WalkMe Settings Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the WalkMe settings. ```APIDOC ## GET /settings/configuration/walkme ### Description Retrieves the WalkMe settings. ### Method GET ### Endpoint /settings/configuration/walkme ### Parameters None ### Request Example None ### Response #### Success Response (200) - **data** (DataSequence[WalkMe]) - The WalkMe settings. ``` -------------------------------- ### Get Statistics Configuration Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the statistics configuration. ```APIDOC ## GET /management/statsconfig ### Description Retrieves the current statistics configuration. ### Method GET ### Endpoint /management/statsconfig ### Response #### Success Response (200) - **StatsOperation** (DataSequence) - The data structure containing statistics operation configuration. This endpoint is available for PROVIDER and SINGLE_TENANT deployments. ``` -------------------------------- ### Execute Tenant Migration Steps Independently Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md This snippet demonstrates how to execute individual steps of the tenant migration process using API methods. It covers exporting, downloading, importing, storing tokens, and migrating the network. Ensure `tenant.migration_key` is provided for import and `token_path` for storing the migration token. ```python origin_api = origin_session.api.tenant_migration_api target_api = target_session.api.tenant_migration_api tenant_file = Path("~/tenant.tar.gz") token_file = Path("~/tenant-token.txt") # export export_task = origin_api.export_tenant(tenant=tenant) remote_filename = export_task.wait_for_file() # download origin_api.download(export_path, remote_filename) # import import_task = target_api.import_tenant(export_path, tenant.migration_key) import_task.wait_for_completed() # get token migration_id = import_task.import_info.migration_token_query_params.migration_id target_api.store_token(migration_id, token_path) # migrate network migrate_task = origin_api.migrate_network(token_path) migrate_task.wait_for_completed() ``` -------------------------------- ### Get AppProbe Class List Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves a list of all configured AppProbe classes. ```APIDOC ## GET /template/policy/list/appprobe ### Description Retrieves a list of all configured AppProbe classes. ### Method GET ### Endpoint /template/policy/list/appprobe ``` -------------------------------- ### Create Policy List (AS Path) Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Creates a new AS Path policy list. Requires policy list details. ```APIDOC ## POST /template/policy/list/aspath ### Description Creates a new AS Path policy list. ### Method POST ### Endpoint /template/policy/list/aspath ### Request Example ```json { "example": "request body for creating AS path policy list" } ``` ### Response #### Success Response (200) - **PolicyListId** (object) - The ID of the newly created policy list. ``` -------------------------------- ### Tenant Management Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Demonstrates creating, listing, retrieving, and deleting tenants. Includes obtaining tenant IDs and session IDs. ```python from catalystwan.endpoints.tenant_management import Tenant api = session.api.tenant_management # create tenants tenants = [ Tenant( name="tenant1", org_name="CiscoDevNet", subdomain="alpha.bravo.net", desc="This is tenant for unit tests", edge_connector_enable=True, edge_connector_system_ip="172.16.255.81", edge_connector_tunnel_interface_name="GigabitEthernet1", wan_edge_forecast=1, ) ] create_task = api.create(tenants) create_task.wait_for_completed() ``` ```python # list all tenants tenants_data = api.get() ``` ```python # pick tenant from list by name tenant = tenants_data.filter(name="tenant1").single_or_default() ``` ```python # get selected tenant id tenant_id = tenant.tenant_id ``` ```python # get vsession id of selected tenant vsessionid = api.vsession_id(tenant_id) ``` ```python # delete tenant by ids delete_task = api.delete([tenant_id], password="Pr0v1d3Rp4$s") delete_task.wait_for_completed() ``` -------------------------------- ### OmpAPI.get_omp_peers Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/docs/source/catalystwan/catalystwan.api.md Gets OMP peers for a specified device. ```APIDOC ## GET /omp/peers/{device_id} ### Description Gets OMP peers for a specified device. ### Method GET ### Endpoint /omp/peers/{device_id} ### Parameters #### Path Parameters - **device_id** (str) - Required - device ID (usually system-ip) ### Response #### Success Response (200) - **omp_peers** (List[OmpPeerData]) - A list of OMP peer data objects. ``` -------------------------------- ### Login as Tenant Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Establishes a session as a tenant user using `create_manager_session`. ```APIDOC ## Login as Tenant ### Description Tenant domain needs to be provided in the URL together with Tenant credentials. ### Method ```python create_manager_session(url, username, password) ``` ### Parameters - **url** (str) - The tenant domain URL. - **username** (str) - The tenant username. - **password** (str) - The tenant password. ### Request Example ```python from catalystwan.session import create_manager_session url = "tenant.example.com" username = "tenant_user" password = "password123" with create_manager_session(url=url, username=username, password=password) as session: print(session.session_type) ``` ``` -------------------------------- ### Get devices Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Retrieves a list of devices from the network. ```APIDOC ## Get devices ### Description Retrieves a list of devices from the network. ### Method ```python session.api.devices.get() ``` ### Request Example ```python devices = session.api.devices.get() ``` ``` -------------------------------- ### Login as Provider-as-Tenant Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Establishes a session as a provider-as-tenant using `create_manager_session` with a subdomain. ```APIDOC ## Login as Provider-as-Tenant ### Description Tenant `subdomain` needs to be provided as an additional argument together with Provider credentials. ### Method ```python create_manager_session(url, username, password, subdomain) ``` ### Parameters - **url** (str) - The provider URL. - **username** (str) - The provider username. - **password** (str) - The provider password. - **subdomain** (str) - The tenant subdomain. ### Request Example ```python from catalystwan.session import create_manager_session url = "example.com" username = "provider" password = "password123" subdomain = "tenant.example.com" with create_manager_session(url=url, username=username, password=password, subdomain=subdomain) as session: print(session.session_type) ``` ``` -------------------------------- ### Get Organization Information Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/docs/source/catalystwan/catalystwan.api.md Retrieves information about the organization. ```python session.api.administration.get_organization() ``` -------------------------------- ### Login as Tenant Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Log in to the SDWAN Manager as a tenant. The tenant domain must be provided in the URL along with tenant credentials. ```python from catalystwan.session import create_manager_session url = "tenant.example.com" username = "tenant_user" password = "password123" with create_manager_session(url=url, username=username, password=password) as session: print(session.session_type) ``` -------------------------------- ### Get All Policy Lists Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves all available policy lists. ```APIDOC ## GET /template/policy/list/site ### Description Retrieves a list of all available policy lists. ### Method GET ### Endpoint /template/policy/list/site ### Response #### Success Response (200) - **DataSequence[SiteListInfo]** (array) - A sequence of site list information objects. ``` -------------------------------- ### Get Policy Definitions Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves a list of all policy definitions. ```APIDOC ## GET /template/policy/definition/ruleset ### Description Retrieves a list of all policy definitions. ### Method GET ### Endpoint /template/policy/definition/ruleset ### Response #### Success Response (200) - **data** (DataSequence[PolicyDefinitionInfo]) - A sequence of policy definition information. ``` -------------------------------- ### ConfigurationSettings.get_devices Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves device configuration information. ```APIDOC ## GET /settings/configuration/device ### Description Retrieves a list of devices and their configuration details. ### Method GET ### Endpoint /settings/configuration/device ### Response #### Success Response (200) - DataSequence (Device) - Information about the devices. ``` -------------------------------- ### Get All Tenant Statuses Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the status of all tenants in the system. ```APIDOC ## GET /tenantstatus ### Description Retrieves the current status for all tenants managed by the system. ### Method GET ### Endpoint /tenantstatus ### Parameters (No parameters specified in the source) ### Response #### Success Response (200) - **DataSequence[TenantStatus]** (object) - A sequence of tenant status objects. ### Response Example (No example provided in the source) ``` -------------------------------- ### Get Password Policy Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the password policy configuration. ```APIDOC ## GET /settings/configuration/passwordPolicy ### Description Retrieves the current password policy settings. ### Method GET ### Endpoint /settings/configuration/passwordPolicy ### Response #### Success Response (200) - **PasswordPolicy** (DataSequence) - The data structure containing the password policy details. ``` -------------------------------- ### Login and Send Requests Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Demonstrates basic session login, sending a GET request to retrieve devices, and closing the session. ```APIDOC ## Session Management ### Login ```python session.login() ``` ### Get Devices ```python session.get("/dataservice/device") ``` ### Close Session ```python session.close() ``` **Note:** When not using a context manager, ensure `session.close()` is called manually to release resources. ``` -------------------------------- ### Preview Policy List (Prefix) Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md This endpoint allows for the preview of a policy list based on prefix configurations. It takes a policy list object and returns a preview of the policy list. ```APIDOC ## POST /template/policy/list/prefix/preview ### Description Allows for the preview of a policy list based on prefix configurations. ### Method POST ### Endpoint /template/policy/list/prefix/preview ### Request Body - **policy_list** (PrefixList) - Required - The prefix list configuration. ### Response #### Success Response (200) - **policy_list_preview** (PolicyListPreview) - The preview of the policy list. ``` -------------------------------- ### Get CloudX Configuration Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the CloudX configuration settings. ```APIDOC ## GET /settings/configuration/cloudx ### Description Retrieves the CloudX configuration. ### Method GET ### Endpoint /settings/configuration/cloudx ### Response #### Success Response (200) - **DataSequence** (DataSequence[[**CloudX**]]) - The CloudX configuration object. ``` -------------------------------- ### Preview Local Application Policy List Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Generates a preview of a local application policy list configuration. Requires a LocalAppList object in the request body. ```APIDOC ## POST /template/policy/list/localapp/preview ### Description Previews a local application policy list configuration before creation or update. ### Method POST ### Endpoint /template/policy/list/localapp/preview ### Parameters #### Request Body - **body** (LocalAppList) - Required - The application list configuration to preview. ### Response #### Success Response (200) - **PolicyListPreview** (PolicyListPreview) - The preview result of the policy list. ``` -------------------------------- ### Get Reverse Proxies Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the configuration for reverse proxies. ```APIDOC ## GET /settings/configuration/reverseproxy ### Description Retrieves the configuration for reverse proxies. ### Method GET ### Endpoint /settings/configuration/reverseproxy ### Response #### Success Response (200) - **DataSequence** (DataSequence[[**ReverseProxy**]]) - A sequence of reverse proxy configurations. ``` -------------------------------- ### List Tenant Backups Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Lists all available tenant backup files. ```APIDOC ## GET /tenantbackup/list ### Description Retrieves a list of all tenant backup files available for restore. ### Method GET ### Endpoint /tenantbackup/list ### Parameters (No parameters specified in the source) ### Response #### Success Response (200) - **BackupFiles** (object) - A list of available backup files. ### Response Example (No example provided in the source) ``` -------------------------------- ### Login as Provider-as-Tenant Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Log in to the SDWAN Manager as a provider with tenant access. The tenant subdomain must be provided as an additional argument along with provider credentials. ```python from catalystwan.session import create_manager_session url = "example.com" username = "provider" password = "password123" subdomain = "tenant.example.com" with create_manager_session(url=url, username=username, password=password, subdomain=subdomain) as session: print(session.session_type) ``` -------------------------------- ### Get Task Status Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the status of a specific task. ```APIDOC ## GET /device/action/status/{task_id} ### Description Retrieves the status of a specific task. ### Method GET ### Endpoint /device/action/status/{task_id} ### Parameters #### Path Parameters - **task_id** (string) - Required - The ID of the task to retrieve the status for. ### Response #### Success Response (200) - **data** (TaskData) - The status details of the task. ``` -------------------------------- ### Get Configuration Groups Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves a list of all configuration groups. ```APIDOC ## GET /v1/config-group ### Description Retrieves a list of all configuration groups. ### Method GET ### Endpoint /v1/config-group ### Response #### Success Response (200) - **DataSequence[[ConfigGroup]]** (object) - A sequence of configuration group objects. ``` -------------------------------- ### Get Device Configuration Preview Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves a preview of the device configuration based on feature templates. This allows for validation before applying changes. ```APIDOC ## POST /template/device/config/config/ ### Description Gets a preview of the device configuration based on feature templates. ### Method POST ### Endpoint /template/device/config/config/ ### Parameters #### Request Body - **FeatureToCLIPayload** (object) - Required - Payload containing feature information to generate CLI configuration. ``` -------------------------------- ### Upgrade Device Software Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/README.md Prepares for and performs a device software upgrade. This involves fetching device details, filtering for vSmarts, uploading the new image, and then installing the software on the selected devices. Assumes a logged-in Manager Session instance is available. ```python # Prepare devices list controllers = session.endpoints.configuration_device_inventory.get_device_details('controllers') vsmarts = controllers.filter(personality=Personality.VSMART) image = "viptela-20.7.2-x86_64.tar.gz" # Upload image session.api.repository.upload_image(image) # Install software install_task = session.api.software.install(devices=vsmarts, image=image) ``` -------------------------------- ### SoftwareInstallTimeout Data Class Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/docs/source/catalystwan/catalystwan.md Represents timeout values for software installation. ```APIDOC ## class catalystwan.dataclasses.SoftwareInstallTimeout ### Description Represents timeout values for software installation. ### Parameters - **download_timeout_min** (int) - Timeout in minutes for software download. - **activate_timeout_min** (int) - Timeout in minutes for software activation. ``` -------------------------------- ### Create Tenant Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Creates a new tenant. Requires PROVIDER role. ```APIDOC ## POST /tenant ### Description Creates a new tenant. ### Method POST ### Endpoint /tenant ### Parameters #### Request Body - **tenant_data** (Tenant) - Required - The data for the new tenant. ``` -------------------------------- ### Get All TLOC Policy Lists Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves all TLOC policy lists. ```APIDOC ## GET /template/policy/list/tloc ### Description Retrieves all TLOC policy lists. ### Method GET ### Endpoint /template/policy/list/tloc ### Response #### Success Response (200) - **DataSequence[TLOCListInfo]** (DataSequence) - A sequence of TLOC list information objects. ``` -------------------------------- ### Get Cloud Connector Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves information about the SD-AVC cloud connector. ```APIDOC ## GET /sdavc/cloudconnector ### Description Fetches the configuration and status of the SD-AVC cloud connector. ### Method GET ### Endpoint /sdavc/cloudconnector ### Parameters (No parameters specified in the source) ### Response #### Success Response (200) - **CloudConnector** (object) - Details of the cloud connector. ### Response Example (No example provided in the source) ``` -------------------------------- ### request(method, url, *args, **kwargs) Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/docs/source/catalystwan/catalystwan.md Constructs a Request, prepares it and sends it. Returns a Response object. ```APIDOC ## request(method, url, *args, **kwargs) ### Description Constructs a `Request`, prepares it and sends it. Returns a `Response` object. ### Parameters * **method** – method for the new `Request` object. * **url** – URL for the new `Request` object. * **params** – (optional) Dictionary or bytes to be sent in the query string for the `Request`. * **data** – (optional) Dictionary, list of tuples, bytes, or file-like object to send in the body of the `Request`. * **json** – (optional) json to send in the body of the `Request`. * **headers** – (optional) Dictionary of HTTP Headers to send with the `Request`. * **cookies** – (optional) Dict or CookieJar object to send with the `Request`. * **files** – (optional) Dictionary of `'filename': file-like-objects` for multipart encoding upload. * **auth** – (optional) Auth tuple or callable to enable Basic/Digest/Custom HTTP Auth. * **timeout** (*float* *or* *tuple*) – (optional) How many seconds to wait for the server to send data before giving up, as a float, or a (connect timeout, read timeout) tuple. * **allow_redirects** (*bool*) – (optional) Set to True by default. * **proxies** – (optional) Dictionary mapping protocol or protocol and hostname to the URL of the proxy. * **hooks** – (optional) Dictionary mapping hook name to one event or list of events, event must be callable. * **stream** – (optional) whether to immediately download the response content. Defaults to `False`. * **verify** – (optional) Either a boolean, in which case it controls whether we verify the server’s TLS certificate, or a string, in which case it must be a path to a CA bundle to use. Defaults to `True`. When set to `False`, requests will accept any TLS certificate presented by the server, and will ignore hostname mismatches and/or expired certificates, which will make your application vulnerable to man-in-the-middle (MitM) attacks. Setting verify to `False` may be useful during local development or testing. * **cert** – (optional) if String, path to ssl client cert file (.pem). If Tuple, (‘cert’, ‘key’) pair. ### Return type: requests.Response ``` -------------------------------- ### Get Claim Device Settings Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the claim device settings. ```APIDOC ## GET /settings/configuration/claimDevice ### Description Retrieves the claim device settings. ### Method GET ### Endpoint /settings/configuration/claimDevice ### Parameters None ### Request Example None ### Response #### Success Response (200) - **data** (DataSequence[ClaimDevice]) - The claim device settings. ``` -------------------------------- ### Get Smart Account Credentials Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the Smart Account credentials. ```APIDOC ## GET /settings/configuration/smartaccountcredentials ### Description Retrieves the credentials for the Cisco Smart Account. ### Method GET ### Endpoint /settings/configuration/smartaccountcredentials ### Response #### Success Response (200) - **SmartAccountCredentials** (DataSequence) - The data structure containing Smart Account credentials. This endpoint is available for PROVIDER and SINGLE_TENANT deployments. ``` -------------------------------- ### ConfigurationPolicyDataPrefixList.preview_policy_list Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Generates a preview of a data prefix policy list configuration. ```APIDOC ## POST /template/policy/list/dataprefix/preview ### Description Creates a preview of a data prefix policy list configuration before applying it. ### Method POST ### Endpoint /template/policy/list/dataprefix/preview ### Request Body - **DataPrefixList** (object) - Required - The data prefix list configuration to preview. ### Response #### Success Response (200) - **PolicyListPreview** (object) - The preview details of the policy list. ``` -------------------------------- ### Get Policy Lists Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves a list of all policy lists in a region. ```APIDOC ## GET /template/policy/list/region ### Description Retrieves a list of all policy lists within a specified region. ### Method GET ### Endpoint /template/policy/list/region ### Response #### Success Response (200) - **data_sequence** (DataSequence[RegionListInfo]) - A sequence of region list information. ``` -------------------------------- ### ConfigurationPolicyPrefixList.create_policy_list Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Creates a new prefix list policy. ```APIDOC ## POST /template/policy/list/prefix ### Description Creates a new prefix list policy configuration. ### Method POST ### Endpoint /template/policy/list/prefix ### Request Body - **PrefixList** (object) - Required - The prefix list object to create. ``` -------------------------------- ### Get Maintenance Window Configuration Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the maintenance window configuration. ```APIDOC ## GET /settings/configuration/maintenanceWindow ### Description Retrieves the configuration for scheduled maintenance windows. ### Method GET ### Endpoint /settings/configuration/maintenanceWindow ### Response #### Success Response (200) - **MaintenanceWindow** (DataSequence) - The data structure containing maintenance window details. This endpoint is available for PROVIDER and SINGLE_TENANT deployments. ``` -------------------------------- ### Create Tenant Bulk Asynchronously Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Creates multiple tenants asynchronously in bulk. Requires PROVIDER role and version >= 20.4. ```APIDOC ## POST /tenant/bulk/async ### Description Creates multiple tenants asynchronously in bulk. ### Method POST ### Endpoint /tenant/bulk/async ### Parameters #### Request Body - **tenants** (list[Tenant]) - Required - A list of tenant data objects. ``` -------------------------------- ### Get Elasticsearch Database Size Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the size of the Elasticsearch database. ```APIDOC ## GET /management/elasticsearch/index/size ### Description Retrieves the size of the Elasticsearch database index. ### Method GET ### Endpoint /management/elasticsearch/index/size ### Response #### Success Response (200) - **ElasticSearchDBSize** (DataSequence) - The data structure containing the Elasticsearch database size information. ``` -------------------------------- ### Create Application Policy List Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Creates a new application policy list. ```APIDOC ## POST /template/policy/list/app ### Description Creates a new application policy list. ### Method POST ### Endpoint /template/policy/list/app ### Request Body - **body** (AppList) - Required - The application list configuration to create. ``` -------------------------------- ### Get SP Metadata Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the Service Provider (SP) metadata. ```APIDOC ## GET /settings/configuration/spMetadata ### Description Retrieves the metadata associated with the Service Provider. ### Method GET ### Endpoint /settings/configuration/spMetadata ### Response #### Success Response (200) - **str** - A string representing the SP metadata. ``` -------------------------------- ### Enable SD-AVC Cloud Connector Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/docs/source/catalystwan/catalystwan.api.md Enables the SD-AVC Cloud Connector on vManage. Requires CloudConnectorData to be provided. ```python session.api.administration.enable_sdavc_cloud_connector(cloud_connector=CloudConnectorData(...)) ``` -------------------------------- ### ConfigurationSoftwareActions.get_list_of_all_images Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves a list of all available software images. ```APIDOC ## GET /device/action/software/images ### Description Retrieves a list of all software images available in the repository. ### Method GET ### Endpoint /device/action/software/images ### Response #### Success Response (200) - **data** (DataSequence[SoftwareImageDetails]) - A list of software image details. ``` -------------------------------- ### Get SD-WAN Telemetry Configuration Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves the SD-WAN telemetry configuration. ```APIDOC ## GET /settings/configuration/sdWanTelemetry ### Description Retrieves the configuration for SD-WAN telemetry. ### Method GET ### Endpoint /settings/configuration/sdWanTelemetry ### Response #### Success Response (200) - **SDWANTelemetry** (DataSequence) - The data structure containing SD-WAN telemetry configuration. This endpoint is available for PROVIDER and SINGLE_TENANT deployments. ``` -------------------------------- ### Preview AppProbe Policy List Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Generates a preview of an AppProbe policy list before it is applied. ```APIDOC ## POST /template/policy/list/appprobe/preview ### Description Generates a preview of an AppProbe policy list before it is applied. ### Method POST ### Endpoint /template/policy/list/appprobe/preview ### Request Body - **body** (AppProbeClassList) - Required - The AppProbe class list configuration to preview. ``` -------------------------------- ### Get Running Tasks Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves a list of all currently running tasks. ```APIDOC ## GET /device/action/status/tasks ### Description Retrieves a list of all currently running tasks. ### Method GET ### Endpoint /device/action/status/tasks ### Response #### Success Response (200) - **data** (TasksData) - A data structure containing information about running tasks. ``` -------------------------------- ### Preview Local Application List Policy Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Previews a local application list policy configuration before applying it. ```APIDOC ## POST /template/policy/list/localapp/preview ### Description Previews a local application list policy configuration. ### Method POST ### Endpoint /template/policy/list/localapp/preview ### Request Body - **policy** (LocalAppList) - Required - The local application list policy to preview. ### Response #### Success Response (200) - **policy** (PolicyListPreview) - The preview of the local application list policy. ``` -------------------------------- ### Get Software Images Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves a list of available software images. ```APIDOC ## GET /device/action/software ### Description Retrieves a list of available software images. ### Method GET ### Endpoint /device/action/software ### Response #### Success Response (200) - **data** (DataSequence[SoftwareImageDetails]) - A sequence of software image details. ``` -------------------------------- ### Get Policy Lists Mirror Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves all mirror policy lists. ```APIDOC ## GET /template/policy/list/mirror ### Description Retrieves a collection of all available mirror policy lists. ### Method GET ### Endpoint /template/policy/list/mirror ### Response #### Success Response (200) - **DataSequence[MirrorListInfo]** - A sequence of objects, each containing information about a mirror policy list. ``` -------------------------------- ### Clone Repository Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/CONTRIBUTING.md Clone the CatalystWAN SDK repository to your local machine. ```bash git clone https://github.com/cisco-en-programmability/catalystwan-sdk.git ``` -------------------------------- ### CertificateManagementVManage.show_info Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves information about the web server certificate on vManage. ```APIDOC ## GET /setting/configuration/webserver/certificate ### Description Retrieves information about the web server certificate on vManage. ### Method GET ### Endpoint /setting/configuration/webserver/certificate ### Response #### Success Response (200) - **WebServerCertificateInfo** (object) - Information about the web server certificate. ``` -------------------------------- ### Get Mesh Policy Definitions Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves all mesh policy definitions. ```APIDOC ## GET /template/policy/definition/mesh ### Description Retrieves all mesh policy definitions. ### Method GET ### Endpoint /template/policy/definition/mesh ### Response #### Success Response (200) - **data** (DataSequence[PolicyDefinitionInfo]) - A sequence of mesh policy definition information. ``` -------------------------------- ### CertificateManagementVManage.show_info Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves information about the web server certificate on vManage. ```APIDOC ## GET /setting/configuration/webserver/certificate ### Description This endpoint retrieves the current configuration and details of the web server certificate used by vManage. ### Method GET ### Endpoint /setting/configuration/webserver/certificate ### Response #### Success Response (200) - **WebServerCertificateInfo** (object) - An object containing information about the web server certificate. ``` -------------------------------- ### Get All Port Lists Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves a list of all configured port lists. ```APIDOC ## GET /template/policy/list/port ### Description Retrieves a list of all configured port lists. ### Method GET ### Endpoint /template/policy/list/port ``` -------------------------------- ### Get Policy Lists (Geolocation) Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves all geolocation policy lists. ```APIDOC ## GET /template/policy/list/geolocation ### Description Retrieves all configured geolocation policy lists. ### Method GET ### Endpoint /template/policy/list/geolocation ### Response #### Success Response (200) - **DataSequence[GeoLocationListInfo]** - A sequence of GeoLocationListInfo objects. ``` -------------------------------- ### Create Policy Prefix List Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Creates a new policy prefix list. ```APIDOC ## POST /template/policy/list/prefix ### Description This endpoint creates a new policy prefix list. ### Method POST ### Endpoint /template/policy/list/prefix ### Request Body - **prefixList** (PrefixList) - Required - The prefix list object to create. ### Request Example { "prefixList": { "example": "request body" } } ### Response #### Success Response (200) - **policyListId** (PolicyListId) - The ID of the created policy list. #### Response Example { "policyListId": { "example": "response body" } } ``` -------------------------------- ### Create Default Site Policy List Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Creates a default site policy list. ```APIDOC ## POST /template/policy/list/site/defaultsite ### Description Creates a default site policy list. ### Method POST ### Endpoint /template/policy/list/site/defaultsite ### Parameters #### Request Body - **SiteList** (object) - Required - The site list object to create as default. ### Response #### Success Response (200) - **PolicyListId** - An object containing the ID of the newly created policy list. ``` -------------------------------- ### Get All Policy Lists Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves all policer class policy lists. ```APIDOC ## GET /template/policy/list/policer ### Description Retrieves all available policer class policy lists. ### Method GET ### Endpoint /template/policy/list/policer ``` -------------------------------- ### Create Policy List (App Probe Class) Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Creates a new probe class policy list. ```APIDOC ## POST /template/policy/list/appprobe ### Description Creates a new probe class policy list. ### Method POST ### Endpoint /template/policy/list/appprobe ### Parameters #### Request Body - **body** (AppProbeClassList) - Required - The probe class list object to create. ### Response #### Success Response (200) - **id** (string) - The ID of the created policy list. #### Response Example { "example": "{\"id\": \"probe-class-list-id-789\"}" } ``` -------------------------------- ### Get All FQDN Policy Lists Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves all FQDN policy lists. ```APIDOC ## GET /template/policy/list/fqdn ### Description Retrieves all FQDN policy lists. ### Method GET ### Endpoint `/template/policy/list/fqdn` ### Response #### Success Response (200) - **data** (DataSequence[FQDNListInfo]) - A sequence of FQDN list information objects. ``` -------------------------------- ### Get All Policy Lists Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Retrieves all available color policy lists. ```APIDOC ## GET /template/policy/list/color ### Description Retrieves a list of all available color policy lists. ### Method GET ### Endpoint /template/policy/list/color ### Response #### Success Response (200) - **data** (DataSequence[ColorListInfo]) - A sequence of ColorListInfo objects representing the policy lists. ``` -------------------------------- ### Create Site Policy List Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Creates a new site policy list. ```APIDOC ## POST /template/policy/list/site ### Description Creates a new site policy list. ### Method POST ### Endpoint /template/policy/list/site ### Parameters #### Request Body - **SiteList** (object) - Required - The site list object to create. ### Response #### Success Response (200) - **PolicyListId** - An object containing the ID of the newly created policy list. ``` -------------------------------- ### Get Policy Lists (App) Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Retrieves all application policy lists. ```APIDOC ## GET /template/policy/list/app ### Description Retrieves a collection of all application policy lists. ### Method GET ### Endpoint /template/policy/list/app ### Response #### Success Response (200) - **DataSequence[AppListInfo]** - A sequence of application policy list information objects. #### Response Example { "example": "{\"data\": [{\"id\": \"policy-list-id-123\", \"name\": \"example-app-list\"}, {\"id\": \"policy-list-id-456\", \"name\": \"another-app-list\"}]}" } ``` -------------------------------- ### Preview VPN Policy List Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/catalystwan/ENDPOINTS.md Generates a preview of a VPN policy list before applying it. ```APIDOC ## POST /template/policy/list/vpn/preview ### Description Generates a preview of a VPN policy list before applying it. ### Method POST ### Endpoint /template/policy/list/vpn/preview ### Parameters #### Request Body - **body** (VPNList) - Required - The VPN list object to preview. ### Response #### Success Response (200) - **policyListPreview** (PolicyListPreview) - The preview of the policy list. ``` -------------------------------- ### ConfigurationPolicyDeviceAccessDefinition.create_policy_definition Source: https://github.com/cisco-en-programmability/catalystwan-sdk/blob/main/ENDPOINTS.md Creates a new device access policy definition. ```APIDOC ## POST /template/policy/definition/deviceaccesspolicy ### Description Creates a new device access policy definition. ### Method POST ### Endpoint /template/policy/definition/deviceaccesspolicy ### Request Body - **DeviceAccessPolicy** (object) - Required - The device access policy configuration. ### Response #### Success Response (200) - **PolicyDefinitionId** (object) - The identifier of the created policy definition. ```