diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml new file mode 100644 index 00000000..af88a1f7 --- /dev/null +++ b/.github/dependabot.yaml @@ -0,0 +1,20 @@ +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + + - package-ecosystem: "pip" + directory: "/" + target-branch: "python-dependencies" + open-pull-requests-limit: 1 + schedule: + interval: "weekly" + groups: + python-dev: + applies-to: version-updates + update-types: + - "minor" + - "patch" diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml deleted file mode 100644 index 6d052b43..00000000 --- a/.github/workflows/documentation.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Sphinx build - -on: push - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: 3.8 - - name: Set Up Poetry - uses: abatilo/actions-poetry@v2 - with: - poetry-version: 1.3.1 - - name: Install dependencies - run: poetry install --sync -v - - name: Build HTML - run: poetry run sphinx-build -M html docs/source docs/build - - name: Upload artifacts - uses: actions/upload-artifact@v4 - with: - name: html-docs - path: docs/build/html/ - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - if: github.ref == 'refs/heads/main' - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: docs/build/html diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index f728daa4..75cb041d 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -3,6 +3,8 @@ name: Static code analyzer on: pull_request: +permissions: read-all + jobs: analyze_code: runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 60028090..f971ee49 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,10 +1,13 @@ name: Publish to PyPi + on: push: tags: - '*.*.*' +permissions: read-all + jobs: publish_release: runs-on: ubuntu-latest diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml new file mode 100644 index 00000000..532cc5c8 --- /dev/null +++ b/.github/workflows/scorecard.yml @@ -0,0 +1,29 @@ +name: scorecard + +on: + push: + branches: + # Run on pushes to default branch + - main + schedule: + # Run weekly on Saturdays + - cron: "30 1 * * 6" + # Run when branch protection rules change + branch_protection_rule: + # Run the workflow manually + workflow_dispatch: + +# Declare default permissions as read-only +permissions: read-all + +jobs: + run-scorecard: + # Call reusable workflow file + uses: cisco-ospo/.github/.github/workflows/_scorecard.yml@main + permissions: + id-token: write + security-events: write + secrets: inherit + with: + # Publish results of Scorecard analysis + publish-results: true diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index 6ed6ee6a..f0cd1da4 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -3,6 +3,8 @@ name: Run unittests on: pull_request: +permissions: read-all + jobs: unittests: runs-on: ubuntu-latest diff --git a/.github/workflows/version.yml b/.github/workflows/version.yml deleted file mode 100644 index 6bb66cc5..00000000 --- a/.github/workflows/version.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Bump version - -on: - push: - branches: main - -jobs: - bump: - runs-on: ubuntu-latest - defaults: - run: - shell: bash - - steps: - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: 3.8 - - name: Set Up Poetry - uses: abatilo/actions-poetry@v2 - with: - poetry-version: 1.3.1 - - name: Get old version - run: | - version_message=$(poetry version) - old_version=$(echo "${version_message##* }") - echo "old_version=${old_version}" >> $GITHUB_ENV - - name: Get bump message - run: | - stringContain() { [ -z "$1" ] || { [ -z "${2##*$1*}" ] && [ -n "$2" ];};} - commit_message=`echo "${{ github.event.head_commit.message }}" | head -1` - if stringContain ':' $commit_message;then bump=`echo "${commit_message%%:*}"`;else bump="";fi - echo "bump=${bump}" >> $GITHUB_ENV - - name: Bump version and get new version - run: | - bump_message=$(poetry version ${{ env.bump }}) - new_version=$(echo "${bump_message##* }") - echo "new_version=${new_version}" >> $GITHUB_ENV - continue-on-error: true - - name: Set environment variable if no new version was created - run: if [ -z "${{env.new_version}}" ]; then echo "new_version=${old_version}" >> $GITHUB_ENV; fi - - name: Commit version changes in pyproject.toml - uses: EndBug/add-and-commit@v9 - with: - message: 'Automated version bump' - add: 'pyproject.toml' - - name: Add tag with new version - if: ${{ env.new_version != env.old_version }} - uses: rickstaa/action-create-tag@v1 - with: - tag: "v${{ env.new_version }}" diff --git a/ENDPOINTS.md b/ENDPOINTS.md index fde009a0..a003c1a9 100644 --- a/ENDPOINTS.md +++ b/ENDPOINTS.md @@ -1,6 +1,6 @@ **THIS FILE WAS AUTO-GENERATED DO NOT EDIT** -Generated for: catalystwan-0.33.8.dev7 +Generated for: catalystwan-0.34.0.dev0 All URIs are relative to */dataservice* HTTP request | Supported Versions | Method | Payload Type | Return Type | Tenancy Mode @@ -142,104 +142,104 @@ POST /v1/feature-profile/sdwan/transport/{transport_id}/cellular-controller|>=20 POST /v1/feature-profile/sdwan/transport/{profile_id}/cellular-controller/{cellular_controler_id}/{parcel_type}|>=20.9|[**TransportFeatureProfile.associate_with_cellular_controller**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L158)|[**ParcelAssociationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L181)|[**ParcelId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L186)| POST /v1/feature-profile/sdwan/transport/{profile_id}/wan/vpn/{vpn_id}/{parcel_type}|>=20.9|[**TransportFeatureProfile.associate_with_vpn**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L169)|[**ParcelAssociationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L181)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L175)| GET /v1/network-hierarchy|>=20.10|[**NetworkHierarchy.list_nodes**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/network_hierarchy.py#L10)||DataSequence[[**NodeInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/network_hierarchy.py#L78)]| -POST /template/policy/definition/acl||[**ConfigurationPolicyAclDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L23)|[**AclPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list.py#L157)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/acl||[**ConfigurationPolicyAclDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L23)|[**AclPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list.py#L157)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/acl/{id}||[**ConfigurationPolicyAclDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L27)||None| -PUT /template/policy/definition/acl/{id}||[**ConfigurationPolicyAclDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L35)|[**AclPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list.py#L182)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/acl||[**ConfigurationPolicyAclDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/acl/{id}||[**ConfigurationPolicyAclDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L35)|[**AclPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list.py#L182)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/acl||[**ConfigurationPolicyAclDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/acl/{id}||[**ConfigurationPolicyAclDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L43)||[**AclPolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list.py#L186)| -POST /template/policy/definition/acl/preview||[**ConfigurationPolicyAclDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L47)|[**AclPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list.py#L157)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/acl/preview/{id}||[**ConfigurationPolicyAclDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/aclv6||[**ConfigurationPolicyAclIPv6Definition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L23)|[**AclIPv6Policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list_ipv6.py#L157)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/acl/preview||[**ConfigurationPolicyAclDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L47)|[**AclPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list.py#L157)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/acl/preview/{id}||[**ConfigurationPolicyAclDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/aclv6||[**ConfigurationPolicyAclIPv6Definition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L23)|[**AclIPv6Policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list_ipv6.py#L157)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/aclv6/{id}||[**ConfigurationPolicyAclIPv6Definition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L27)||None| -PUT /template/policy/definition/aclv6/{id}||[**ConfigurationPolicyAclIPv6Definition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L35)|[**AclIPv6PolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list_ipv6.py#L182)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/aclv6||[**ConfigurationPolicyAclIPv6Definition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/aclv6/{id}||[**ConfigurationPolicyAclIPv6Definition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L35)|[**AclIPv6PolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list_ipv6.py#L182)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/aclv6||[**ConfigurationPolicyAclIPv6Definition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/aclv6/{id}||[**ConfigurationPolicyAclIPv6Definition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L43)||[**AclIPv6PolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list_ipv6.py#L186)| -POST /template/policy/definition/aclv6/preview||[**ConfigurationPolicyAclIPv6Definition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L47)|[**AclIPv6Policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list_ipv6.py#L157)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/aclv6/preview/{id}||[**ConfigurationPolicyAclIPv6Definition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/control||[**ConfigurationPolicyControlDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L23)|[**ControlPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/control.py#L316)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/aclv6/preview||[**ConfigurationPolicyAclIPv6Definition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L47)|[**AclIPv6Policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list_ipv6.py#L157)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/aclv6/preview/{id}||[**ConfigurationPolicyAclIPv6Definition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list_ipv6.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/control||[**ConfigurationPolicyControlDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L23)|[**ControlPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/control.py#L314)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/control/{id}||[**ConfigurationPolicyControlDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L27)||None| -PUT /template/policy/definition/control/{id}||[**ConfigurationPolicyControlDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L35)|[**ControlPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/control.py#L349)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/control||[**ConfigurationPolicyControlDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| -GET /template/policy/definition/control/{id}||[**ConfigurationPolicyControlDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L43)||[**ControlPolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/control.py#L353)| -POST /template/policy/definition/control/preview||[**ConfigurationPolicyControlDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L47)|[**ControlPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/control.py#L316)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/control/preview/{id}||[**ConfigurationPolicyControlDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/deviceaccesspolicy||[**ConfigurationPolicyDeviceAccessDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L23)|[**DeviceAccessPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access.py#L84)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +PUT /template/policy/definition/control/{id}||[**ConfigurationPolicyControlDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L35)|[**ControlPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/control.py#L347)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/control||[**ConfigurationPolicyControlDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| +GET /template/policy/definition/control/{id}||[**ConfigurationPolicyControlDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L43)||[**ControlPolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/control.py#L351)| +POST /template/policy/definition/control/preview||[**ConfigurationPolicyControlDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L47)|[**ControlPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/control.py#L314)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/control/preview/{id}||[**ConfigurationPolicyControlDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/control.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/deviceaccesspolicy||[**ConfigurationPolicyDeviceAccessDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L23)|[**DeviceAccessPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access.py#L84)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/deviceaccesspolicy/{id}||[**ConfigurationPolicyDeviceAccessDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L27)||None| -PUT /template/policy/definition/deviceaccesspolicy/{id}||[**ConfigurationPolicyDeviceAccessDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L35)|[**DeviceAccessPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access.py#L110)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/deviceaccesspolicy||[**ConfigurationPolicyDeviceAccessDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/deviceaccesspolicy/{id}||[**ConfigurationPolicyDeviceAccessDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L35)|[**DeviceAccessPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access.py#L110)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/deviceaccesspolicy||[**ConfigurationPolicyDeviceAccessDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/deviceaccesspolicy/{id}||[**ConfigurationPolicyDeviceAccessDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L43)||[**DeviceAccessPolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access.py#L114)| -POST /template/policy/definition/deviceaccesspolicy/preview||[**ConfigurationPolicyDeviceAccessDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L47)|[**DeviceAccessPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access.py#L84)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/deviceaccesspolicy/preview/{id}||[**ConfigurationPolicyDeviceAccessDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/deviceaccesspolicyv6||[**ConfigurationPolicyDeviceAccessIPv6Definition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L23)|[**DeviceAccessIPv6Policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access_ipv6.py#L84)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/deviceaccesspolicy/preview||[**ConfigurationPolicyDeviceAccessDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L47)|[**DeviceAccessPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access.py#L84)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/deviceaccesspolicy/preview/{id}||[**ConfigurationPolicyDeviceAccessDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/deviceaccesspolicyv6||[**ConfigurationPolicyDeviceAccessIPv6Definition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L23)|[**DeviceAccessIPv6Policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access_ipv6.py#L84)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/deviceaccesspolicyv6/{id}||[**ConfigurationPolicyDeviceAccessIPv6Definition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L27)||None| -PUT /template/policy/definition/deviceaccesspolicyv6/{id}||[**ConfigurationPolicyDeviceAccessIPv6Definition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L35)|[**DeviceAccessIPv6PolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access_ipv6.py#L110)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/deviceaccesspolicyv6||[**ConfigurationPolicyDeviceAccessIPv6Definition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L41)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/deviceaccesspolicyv6/{id}||[**ConfigurationPolicyDeviceAccessIPv6Definition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L35)|[**DeviceAccessIPv6PolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access_ipv6.py#L110)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/deviceaccesspolicyv6||[**ConfigurationPolicyDeviceAccessIPv6Definition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L41)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/deviceaccesspolicyv6/{id}||[**ConfigurationPolicyDeviceAccessIPv6Definition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L45)||[**DeviceAccessIPv6PolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access_ipv6.py#L114)| -POST /template/policy/definition/deviceaccesspolicyv6/preview||[**ConfigurationPolicyDeviceAccessIPv6Definition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L49)|[**DeviceAccessIPv6Policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access_ipv6.py#L84)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/deviceaccesspolicyv6/preview/{id}||[**ConfigurationPolicyDeviceAccessIPv6Definition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L53)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/hubandspoke||[**ConfigurationPolicyHubAndSpokeDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L23)|[**HubAndSpokePolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/hub_and_spoke.py#L50)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/deviceaccesspolicyv6/preview||[**ConfigurationPolicyDeviceAccessIPv6Definition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L49)|[**DeviceAccessIPv6Policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/device_access_ipv6.py#L84)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/deviceaccesspolicyv6/preview/{id}||[**ConfigurationPolicyDeviceAccessIPv6Definition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/device_access_ipv6.py#L53)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/hubandspoke||[**ConfigurationPolicyHubAndSpokeDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L23)|[**HubAndSpokePolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/hub_and_spoke.py#L50)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/hubandspoke/{id}||[**ConfigurationPolicyHubAndSpokeDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L27)||None| -PUT /template/policy/definition/hubandspoke/{id}||[**ConfigurationPolicyHubAndSpokeDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L35)|[**HubAndSpokePolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/hub_and_spoke.py#L80)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/hubandspoke||[**ConfigurationPolicyHubAndSpokeDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/hubandspoke/{id}||[**ConfigurationPolicyHubAndSpokeDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L35)|[**HubAndSpokePolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/hub_and_spoke.py#L80)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/hubandspoke||[**ConfigurationPolicyHubAndSpokeDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/hubandspoke/{id}||[**ConfigurationPolicyHubAndSpokeDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L43)||[**HubAndSpokePolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/hub_and_spoke.py#L84)| -POST /template/policy/definition/hubandspoke/preview||[**ConfigurationPolicyHubAndSpokeDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L47)|[**HubAndSpokePolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/hub_and_spoke.py#L50)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/hubandspoke/preview/{id}||[**ConfigurationPolicyHubAndSpokeDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/mesh||[**ConfigurationPolicyMeshDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L19)|[**MeshPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/mesh.py#L27)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/hubandspoke/preview||[**ConfigurationPolicyHubAndSpokeDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L47)|[**HubAndSpokePolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/hub_and_spoke.py#L50)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/hubandspoke/preview/{id}||[**ConfigurationPolicyHubAndSpokeDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/hub_and_spoke.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/mesh||[**ConfigurationPolicyMeshDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L19)|[**MeshPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/mesh.py#L27)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/mesh/{id}||[**ConfigurationPolicyMeshDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L23)||None| -PUT /template/policy/definition/mesh/{id}||[**ConfigurationPolicyMeshDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L31)|[**MeshPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/mesh.py#L42)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/mesh||[**ConfigurationPolicyMeshDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L35)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/mesh/{id}||[**ConfigurationPolicyMeshDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L31)|[**MeshPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/mesh.py#L42)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/mesh||[**ConfigurationPolicyMeshDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L35)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/mesh/{id}||[**ConfigurationPolicyMeshDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L39)||[**MeshPolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/mesh.py#L46)| -POST /template/policy/definition/mesh/preview||[**ConfigurationPolicyMeshDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L43)|[**MeshPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/mesh.py#L27)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/mesh/preview/{id}||[**ConfigurationPolicyMeshDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L47)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/qosmap||[**ConfigurationPolicyQoSMapDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L19)|[**QoSMapPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/qos_map.py#L71)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/mesh/preview||[**ConfigurationPolicyMeshDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L43)|[**MeshPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/mesh.py#L27)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/mesh/preview/{id}||[**ConfigurationPolicyMeshDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/mesh.py#L47)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/qosmap||[**ConfigurationPolicyQoSMapDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L19)|[**QoSMapPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/qos_map.py#L71)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/qosmap/{id}||[**ConfigurationPolicyQoSMapDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L23)||None| -PUT /template/policy/definition/qosmap/{id}||[**ConfigurationPolicyQoSMapDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L31)|[**QoSMapPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/qos_map.py#L106)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/qosmap||[**ConfigurationPolicyQoSMapDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L35)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/qosmap/{id}||[**ConfigurationPolicyQoSMapDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L31)|[**QoSMapPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/qos_map.py#L106)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/qosmap||[**ConfigurationPolicyQoSMapDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L35)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/qosmap/{id}||[**ConfigurationPolicyQoSMapDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L39)||[**QoSMapPolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/qos_map.py#L110)| -POST /template/policy/definition/qosmap/preview||[**ConfigurationPolicyQoSMapDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L43)|[**QoSMapPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/qos_map.py#L71)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/qosmap/preview/{id}||[**ConfigurationPolicyQoSMapDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L47)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/rewriterule||[**ConfigurationPolicyRewriteRuleDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L23)|[**RewritePolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rewrite.py#L33)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/qosmap/preview||[**ConfigurationPolicyQoSMapDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L43)|[**QoSMapPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/qos_map.py#L71)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/qosmap/preview/{id}||[**ConfigurationPolicyQoSMapDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/qos_map.py#L47)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/rewriterule||[**ConfigurationPolicyRewriteRuleDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L23)|[**RewritePolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rewrite.py#L33)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/rewriterule/{id}||[**ConfigurationPolicyRewriteRuleDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L27)||None| -PUT /template/policy/definition/rewriterule/{id}||[**ConfigurationPolicyRewriteRuleDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L35)|[**RewritePolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rewrite.py#L42)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/rewriterule||[**ConfigurationPolicyRewriteRuleDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/rewriterule/{id}||[**ConfigurationPolicyRewriteRuleDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L35)|[**RewritePolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rewrite.py#L42)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/rewriterule||[**ConfigurationPolicyRewriteRuleDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/rewriterule/{id}||[**ConfigurationPolicyRewriteRuleDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L43)||[**RewritePolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rewrite.py#L46)| -POST /template/policy/definition/rewriterule/preview||[**ConfigurationPolicyRewriteRuleDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L47)|[**RewritePolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rewrite.py#L33)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/rewriterule/preview/{id}||[**ConfigurationPolicyRewriteRuleDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/ruleset||[**ConfigurationPolicyRuleSetDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L19)|[**RuleSet**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rule_set.py#L160)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/rewriterule/preview||[**ConfigurationPolicyRewriteRuleDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L47)|[**RewritePolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rewrite.py#L33)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/rewriterule/preview/{id}||[**ConfigurationPolicyRewriteRuleDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rewrite.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/ruleset||[**ConfigurationPolicyRuleSetDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L19)|[**RuleSet**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rule_set.py#L160)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/ruleset/{id}||[**ConfigurationPolicyRuleSetDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L23)||None| -PUT /template/policy/definition/ruleset/{id}||[**ConfigurationPolicyRuleSetDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L31)|[**RuleSetEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rule_set.py#L265)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/ruleset||[**ConfigurationPolicyRuleSetDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L35)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/ruleset/{id}||[**ConfigurationPolicyRuleSetDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L31)|[**RuleSetEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rule_set.py#L265)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/ruleset||[**ConfigurationPolicyRuleSetDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L35)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/ruleset/{id}||[**ConfigurationPolicyRuleSetDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L39)||[**RuleSetGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rule_set.py#L269)| -POST /template/policy/definition/ruleset/preview||[**ConfigurationPolicyRuleSetDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L43)|[**RuleSet**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rule_set.py#L160)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/ruleset/preview/{id}||[**ConfigurationPolicyRuleSetDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L47)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/securitygroup||[**ConfigurationPolicySecurityGroupDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L23)|[**SecurityGroup**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/security_group.py#L59)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/ruleset/preview||[**ConfigurationPolicyRuleSetDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L43)|[**RuleSet**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/rule_set.py#L160)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/ruleset/preview/{id}||[**ConfigurationPolicyRuleSetDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/rule_set.py#L47)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/securitygroup||[**ConfigurationPolicySecurityGroupDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L23)|[**SecurityGroup**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/security_group.py#L59)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/securitygroup/{id}||[**ConfigurationPolicySecurityGroupDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L27)||None| -PUT /template/policy/definition/securitygroup/{id}||[**ConfigurationPolicySecurityGroupDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L35)|[**SecurityGroupEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/security_group.py#L76)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/securitygroup||[**ConfigurationPolicySecurityGroupDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/securitygroup/{id}||[**ConfigurationPolicySecurityGroupDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L35)|[**SecurityGroupEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/security_group.py#L76)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/securitygroup||[**ConfigurationPolicySecurityGroupDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/securitygroup/{id}||[**ConfigurationPolicySecurityGroupDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L43)||[**SecurityGroupGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/security_group.py#L80)| -POST /template/policy/definition/securitygroup/preview||[**ConfigurationPolicySecurityGroupDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L47)|[**SecurityGroup**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/security_group.py#L59)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/securitygroup/preview/{id}||[**ConfigurationPolicySecurityGroupDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/data||[**ConfigurationPolicyDataDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L24)|[**TrafficDataPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/traffic_data.py#L366)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/securitygroup/preview||[**ConfigurationPolicySecurityGroupDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L47)|[**SecurityGroup**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/security_group.py#L59)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/securitygroup/preview/{id}||[**ConfigurationPolicySecurityGroupDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/security_group.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/data||[**ConfigurationPolicyDataDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L24)|[**TrafficDataPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/traffic_data.py#L366)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/data/{id}||[**ConfigurationPolicyDataDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L28)||None| -PUT /template/policy/definition/data/{id}||[**ConfigurationPolicyDataDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L36)|[**TrafficDataPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/traffic_data.py#L387)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/data||[**ConfigurationPolicyDataDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L40)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/data/{id}||[**ConfigurationPolicyDataDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L36)|[**TrafficDataPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/traffic_data.py#L387)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/data||[**ConfigurationPolicyDataDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L40)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/data/{id}||[**ConfigurationPolicyDataDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L44)||[**TrafficDataPolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/traffic_data.py#L391)| -POST /template/policy/definition/data/preview||[**ConfigurationPolicyDataDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L48)|[**TrafficDataPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/traffic_data.py#L366)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/data/preview/{id}||[**ConfigurationPolicyDataDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L52)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/vpnmembershipgroup||[**ConfigurationPolicyVPNMembershipGroupDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L23)|[**VPNMembershipPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/vpn_membership.py#L26)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/data/preview||[**ConfigurationPolicyDataDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L48)|[**TrafficDataPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/traffic_data.py#L366)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/data/preview/{id}||[**ConfigurationPolicyDataDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/traffic_data.py#L52)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/vpnmembershipgroup||[**ConfigurationPolicyVPNMembershipGroupDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L23)|[**VPNMembershipPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/vpn_membership.py#L26)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/vpnmembershipgroup/{id}||[**ConfigurationPolicyVPNMembershipGroupDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L27)||None| -PUT /template/policy/definition/vpnmembershipgroup/{id}||[**ConfigurationPolicyVPNMembershipGroupDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L35)|[**VPNMembershipPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/vpn_membership.py#L37)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/vpnmembershipgroup||[**ConfigurationPolicyVPNMembershipGroupDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/vpnmembershipgroup/{id}||[**ConfigurationPolicyVPNMembershipGroupDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L35)|[**VPNMembershipPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/vpn_membership.py#L37)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/vpnmembershipgroup||[**ConfigurationPolicyVPNMembershipGroupDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/vpnmembershipgroup/{id}||[**ConfigurationPolicyVPNMembershipGroupDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L43)||[**VPNMembershipPolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/vpn_membership.py#L41)| -POST /template/policy/definition/vpnmembershipgroup/preview||[**ConfigurationPolicyVPNMembershipGroupDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L47)|[**VPNMembershipPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/vpn_membership.py#L26)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/vpnmembershipgroup/preview/{id}||[**ConfigurationPolicyVPNMembershipGroupDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -POST /template/policy/definition/zonebasedfw||[**ConfigurationPolicyZoneBasedFirewallDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L23)|[**ZoneBasedFWPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/zone_based_firewall.py#L225)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1164)| +POST /template/policy/definition/vpnmembershipgroup/preview||[**ConfigurationPolicyVPNMembershipGroupDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L47)|[**VPNMembershipPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/vpn_membership.py#L26)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/vpnmembershipgroup/preview/{id}||[**ConfigurationPolicyVPNMembershipGroupDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/vpn_membership.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +POST /template/policy/definition/zonebasedfw||[**ConfigurationPolicyZoneBasedFirewallDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L23)|[**ZoneBasedFWPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/zone_based_firewall.py#L225)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/zonebasedfw/{id}||[**ConfigurationPolicyZoneBasedFirewallDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L27)||None| -PUT /template/policy/definition/zonebasedfw/{id}||[**ConfigurationPolicyZoneBasedFirewallDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L35)|[**ZoneBasedFWPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/zone_based_firewall.py#L276)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1252)| -GET /template/policy/definition/zonebasedfw||[**ConfigurationPolicyZoneBasedFirewallDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1239)]| +PUT /template/policy/definition/zonebasedfw/{id}||[**ConfigurationPolicyZoneBasedFirewallDefinition.edit_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L35)|[**ZoneBasedFWPolicyEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/zone_based_firewall.py#L276)|[**PolicyDefinitionEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1251)| +GET /template/policy/definition/zonebasedfw||[**ConfigurationPolicyZoneBasedFirewallDefinition.get_definitions**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L39)||DataSequence[[**PolicyDefinitionInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1238)]| GET /template/policy/definition/zonebasedfw/{id}||[**ConfigurationPolicyZoneBasedFirewallDefinition.get_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L43)||[**ZoneBasedFWPolicyGetResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/zone_based_firewall.py#L280)| -POST /template/policy/definition/zonebasedfw/preview||[**ConfigurationPolicyZoneBasedFirewallDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L47)|[**ZoneBasedFWPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/zone_based_firewall.py#L225)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| -GET /template/policy/definition/zonebasedfw/preview/{id}||[**ConfigurationPolicyZoneBasedFirewallDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1258)| +POST /template/policy/definition/zonebasedfw/preview||[**ConfigurationPolicyZoneBasedFirewallDefinition.preview_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L47)|[**ZoneBasedFWPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/zone_based_firewall.py#L225)|[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| +GET /template/policy/definition/zonebasedfw/preview/{id}||[**ConfigurationPolicyZoneBasedFirewallDefinition.preview_policy_definition_by_id**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/zone_based_firewall.py#L51)||[**PolicyDefinitionPreview**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1257)| POST /template/policy/list/app||[**ConfigurationPolicyApplicationList.create_policy_list**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/list/app.py#L14)|[**AppList**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/list/app.py#L21)|[**PolicyListId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_list.py#L30)| DELETE /template/policy/list/app/{id}||[**ConfigurationPolicyApplicationList.delete_policy_list**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/list/app.py#L18)||None| DELETE /template/policy/list/app||[**ConfigurationPolicyApplicationList.delete_policy_lists_with_info_tag**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/list/app.py#L22)||None| @@ -588,76 +588,76 @@ DELETE /v1/config-group/{config_group_id}/device/associate|>=20.9|[**Configurati PUT /v1/config-group/{config_group_id}|>=20.9|[**ConfigurationGroup.edit_config_group**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_group.py#L184)|[**ConfigGroupEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_group.py#L71)|[**ConfigGroupEditResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_group.py#L144)| GET /v1/config-group|>=20.9|[**ConfigurationGroup.get**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_group.py#L189)||DataSequence[[**ConfigGroup**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_group.py#L41)]| PUT /v1/config-group/{config_group_id}/device/variables|>=20.9|[**ConfigurationGroup.update_variables**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_group.py#L194)|[**ConfigGroupVariablesEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_group.py#L119)|None| -GET /settings/configuration/{setting_type}||[**ConfigurationSettings.get_configuration_by_setting_type**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L403)||None| -GET /settings/configuration/organization||[**ConfigurationSettings.get_organizations**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L407)||DataSequence[[**Organization**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L20)]| -GET /settings/configuration/device||[**ConfigurationSettings.get_devices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L411)||DataSequence[[**Device**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L29)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/emailNotificationSettings||[**ConfigurationSettings.get_email_notification_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L416)||DataSequence[[**EmailNotificationSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L35)]| -GET /settings/configuration/hardwarerootca||[**ConfigurationSettings.get_hardware_root_cas**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L420)||DataSequence[[**HardwareRootCA**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L39)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/certificate||[**ConfigurationSettings.get_certificates**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L425)||DataSequence[[**Certificate**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L49)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/vedgecloud||[**ConfigurationSettings.get_vedge_cloud**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L430)||DataSequence[[**VEdgeCloud**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L61)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/crlSetting||[**ConfigurationSettings.get_clr_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L435)||DataSequence[[**CRLSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L318)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/banner||[**ConfigurationSettings.get_banner**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L440)||DataSequence[[**Banner**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L65)]| -GET /settings/configuration/proxyHttpServer||[**ConfigurationSettings.get_proxy_http_servers**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L444)||DataSequence[[**ProxyHTTPServer**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L71)]| -GET /settings/configuration/reverseproxy||[**ConfigurationSettings.get_reverse_proxies**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L448)||DataSequence[[**ReverseProxy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L78)]| -GET /settings/configuration/cloudx||[**ConfigurationSettings.get_cloudx**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L452)||DataSequence[[**CloudX**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L82)]| -GET /settings/configuration/manageEncryptedPassword||[**ConfigurationSettings.get_manage_encrypted_password**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L456)||DataSequence[[**ManageEncryptedPassword**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L86)]| -GET /settings/configuration/cloudservices||[**ConfigurationSettings.get_cloudservices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L460)||DataSequence[[**CloudServices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L93)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/clientSessionTimeout||[**ConfigurationSettings.get_client_session_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L465)||DataSequence[[**ClientSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L114)]| -GET /settings/configuration/sessionLifeTime||[**ConfigurationSettings.get_session_life_time**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L469)||DataSequence[[**SessionLifeTime**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L120)]| -GET /settings/configuration/serverSessionTimeout||[**ConfigurationSettings.get_server_session_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L473)||DataSequence[[**ServerSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L131)]| -GET /settings/configuration/maxSessionsPerUser||[**ConfigurationSettings.get_max_sessions_per_user**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L477)||DataSequence[[**MaxSessionsPerUser**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L142)]| -GET /settings/configuration/passwordPolicy||[**ConfigurationSettings.get_password_policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L481)||DataSequence[[**PasswordPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L149)]| -GET /settings/configuration/vmanagedatastream||[**ConfigurationSettings.get_vmanage_data_stream**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L485)||DataSequence[[**VManageDataStream**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L164)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/dataCollectionOnNotification||[**ConfigurationSettings.get_data_collection_on_notification**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L490)||DataSequence[[**DataCollectionOnNotification**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L174)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/sdWanTelemetry||[**ConfigurationSettings.get_sdwan_telemetry**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L495)||DataSequence[[**SDWANTelemetry**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L178)]|PROVIDER, SINGLE_TENANT -GET /management/statsconfig||[**ConfigurationSettings.get_stats_config**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L500)||DataSequence[[**StatsOperation**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L182)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/spMetadata||[**ConfigurationSettings.get_sp_metadata**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L505)||str| -GET /management/elasticsearch/index/size||[**ConfigurationSettings.get_elasticsearch_db_size**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L509)||DataSequence[[**ElasticSearchDBSize**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L212)]| -GET /settings/configuration/googleMapKey||[**ConfigurationSettings.get_google_map_key**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L513)||DataSequence[[**GoogleMapKey**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L218)]| -GET /settings/configuration/maintenanceWindow||[**ConfigurationSettings.get_maintenance_window**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L517)||DataSequence[[**MaintenanceWindow**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L200)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/softwareMaintenance||[**ConfigurationSettings.get_software_install_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L522)||DataSequence[[**SoftwareInstallTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L222)]| -GET /settings/configuration/credentials||[**ConfigurationSettings.get_ips_signature_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L526)||DataSequence[[**IPSSignatureSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L250)]| -GET /settings/configuration/smartaccountcredentials||[**ConfigurationSettings.get_smart_account_credentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L530)||DataSequence[[**SmartAccountCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L264)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/pnpConnectSync||[**ConfigurationSettings.get_pnp_connect_sync**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L535)||DataSequence[[**PnPConnectSync**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L269)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/claimDevice||[**ConfigurationSettings.get_claim_device**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L540)||DataSequence[[**ClaimDevice**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L273)]| -GET /settings/configuration/walkme||[**ConfigurationSettings.get_walkme**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L544)||DataSequence[[**WalkMe**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L277)]| -GET /settings/configuration/smartLicensing||[**ConfigurationSettings.get_smart_licensing_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L548)||DataSequence[[**SmartLicensingSetting**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L283)]|PROVIDER, SINGLE_TENANT -GET /settings/configuration/cloudProviderSetting||[**ConfigurationSettings.get_cloud_credentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L553)||DataSequence[[**CloudCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L340)]| -PUT /settings/configuration/{setting_type}||[**ConfigurationSettings.edit_configuration_by_setting_type**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L565)|None|None| -PUT /settings/configuration/organization||[**ConfigurationSettings.edit_organizations**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L569)|[**Organization**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L20)|DataSequence[[**Organization**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L20)]| -PUT /settings/configuration/device||[**ConfigurationSettings.edit_devices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L573)|[**Device**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L29)|DataSequence[[**Device**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L29)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/emailNotificationSettings||[**ConfigurationSettings.edit_email_notification_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L578)|[**EmailNotificationSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L35)|DataSequence[[**EmailNotificationSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L35)]| -PUT /settings/configuration/hardwarerootca||[**ConfigurationSettings.edit_hardware_root_cas**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L584)|[**HardwareRootCA**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L39)|DataSequence[[**HardwareRootCA**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L39)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/certificate||[**ConfigurationSettings.edit_certificates**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L589)|[**Certificate**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L49)|DataSequence[[**Certificate**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L49)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/vedgecloud||[**ConfigurationSettings.edit_vedge_cloud**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L594)|[**VEdgeCloud**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L61)|DataSequence[[**VEdgeCloud**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L61)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/banner||[**ConfigurationSettings.edit_banner**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L599)|[**Banner**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L65)|DataSequence[[**Banner**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L65)]| -PUT /settings/configuration/proxyHttpServer||[**ConfigurationSettings.edit_proxy_http_servers**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L603)|[**ProxyHTTPServer**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L71)|DataSequence[[**ProxyHTTPServer**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L71)]| -PUT /settings/configuration/reverseproxy||[**ConfigurationSettings.edit_reverse_proxies**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L607)|[**ReverseProxy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L78)|DataSequence[[**ReverseProxy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L78)]| -PUT /settings/configuration/cloudx||[**ConfigurationSettings.edit_cloudx**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L611)|[**CloudX**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L82)|DataSequence[[**CloudX**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L82)]| -PUT /settings/configuration/manageEncryptedPassword||[**ConfigurationSettings.edit_manage_encrypted_password**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L615)|[**ManageEncryptedPassword**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L86)|DataSequence[[**ManageEncryptedPassword**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L86)]| -PUT /settings/configuration/cloudservices||[**ConfigurationSettings.edit_cloudservices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L619)|[**CloudServices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L93)|DataSequence[[**CloudServices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L93)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/clientSessionTimeout||[**ConfigurationSettings.edit_client_session_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L624)|[**ClientSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L114)|DataSequence[[**ClientSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L114)]| -PUT /settings/configuration/sessionLifeTime||[**ConfigurationSettings.edit_session_life_time**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L628)|[**SessionLifeTime**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L120)|DataSequence[[**SessionLifeTime**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L120)]| -PUT /settings/configuration/serverSessionTimeout||[**ConfigurationSettings.edit_server_session_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L632)|[**ServerSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L131)|DataSequence[[**ServerSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L131)]| -PUT /settings/configuration/maxSessionsPerUser||[**ConfigurationSettings.edit_max_sessions_per_user**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L636)|[**MaxSessionsPerUser**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L142)|DataSequence[[**MaxSessionsPerUser**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L142)]| -PUT /settings/configuration/passwordPolicy||[**ConfigurationSettings.edit_password_policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L640)|[**PasswordPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L149)|DataSequence[[**PasswordPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L149)]| -PUT /settings/configuration/vmanagedatastream||[**ConfigurationSettings.edit_vmanage_data_stream**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L644)|[**VManageDataStream**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L164)|DataSequence[[**VManageDataStream**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L164)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/dataCollectionOnNotification||[**ConfigurationSettings.edit_data_collection_on_notification**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L649)|[**DataCollectionOnNotification**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L174)|DataSequence[[**DataCollectionOnNotification**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L174)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/sdWanTelemetry||[**ConfigurationSettings.edit_sdwan_telemetry**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L656)|[**SDWANTelemetry**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L178)|DataSequence[[**SDWANTelemetry**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L178)]|PROVIDER, SINGLE_TENANT -POST /management/statsconfig||[**ConfigurationSettings.edit_stats_config**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L661)|[**StatsConfig**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L310)|DataSequence[[**StatsOperation**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L182)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/spMetadata||[**ConfigurationSettings.edit_sp_metadata**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L666)|str|str| -PUT /management/elasticsearch/index/size||[**ConfigurationSettings.edit_elasticsearch_db_size**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L670)|[**ElasticSearchDBSize**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L212)|DataSequence[[**ElasticSearchDBSize**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L212)]| -PUT /settings/configuration/googleMapKey||[**ConfigurationSettings.edit_google_map_key**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L674)|[**GoogleMapKey**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L218)|DataSequence[[**GoogleMapKey**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L218)]| -PUT /settings/configuration/maintenanceWindow||[**ConfigurationSettings.edit_maintenance_window**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L678)|[**MaintenanceWindow**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L200)|DataSequence[[**MaintenanceWindow**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L200)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/softwareMaintenance||[**ConfigurationSettings.edit_software_install_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L683)|[**SoftwareInstallTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L222)|DataSequence[[**SoftwareInstallTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L222)]| -PUT /settings/configuration/credentials||[**ConfigurationSettings.edit_ips_signature_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L687)|[**IPSSignatureSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L250)|DataSequence[[**IPSSignatureSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L250)]| -PUT /settings/configuration/smartaccountcredentials||[**ConfigurationSettings.edit_smart_account_credentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L691)|[**SmartAccountCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L264)|DataSequence[[**SmartAccountCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L264)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/pnpConnectSync||[**ConfigurationSettings.edit_pnp_connect_sync**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L696)|[**PnPConnectSync**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L269)|DataSequence[[**PnPConnectSync**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L269)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/claimDevice||[**ConfigurationSettings.edit_claim_device**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L701)|[**ClaimDevice**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L273)|DataSequence[[**ClaimDevice**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L273)]| -PUT /settings/configuration/walkme||[**ConfigurationSettings.edit_walkme**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L705)|[**WalkMe**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L277)|DataSequence[[**WalkMe**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L277)]| -PUT /settings/configuration/smartLicensing||[**ConfigurationSettings.edit_smart_licensing_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L709)|[**SmartLicensingSetting**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L283)|DataSequence[[**SmartLicensingSetting**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L283)]|PROVIDER, SINGLE_TENANT -PUT /settings/configuration/cloudProviderSetting||[**ConfigurationSettings.edit_cloud_credentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L714)|[**CloudCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L340)|DataSequence[[**CloudCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L340)]| -POST /settings/configuration/cloudProviderSetting||[**ConfigurationSettings.create_cloud_credentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L718)|[**CloudCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L340)|DataSequence[[**CloudCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L340)]| +GET /settings/configuration/{setting_type}||[**ConfigurationSettings.get_configuration_by_setting_type**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L405)||None| +GET /settings/configuration/organization||[**ConfigurationSettings.get_organizations**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L409)||DataSequence[[**Organization**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L20)]| +GET /settings/configuration/device||[**ConfigurationSettings.get_devices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L413)||DataSequence[[**Device**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L29)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/emailNotificationSettings||[**ConfigurationSettings.get_email_notification_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L418)||DataSequence[[**EmailNotificationSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L35)]| +GET /settings/configuration/hardwarerootca||[**ConfigurationSettings.get_hardware_root_cas**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L422)||DataSequence[[**HardwareRootCA**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L39)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/certificate||[**ConfigurationSettings.get_certificates**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L427)||DataSequence[[**Certificate**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L49)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/vedgecloud||[**ConfigurationSettings.get_vedge_cloud**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L432)||DataSequence[[**VEdgeCloud**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L63)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/crlSetting||[**ConfigurationSettings.get_clr_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L437)||DataSequence[[**CRLSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L320)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/banner||[**ConfigurationSettings.get_banner**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L442)||DataSequence[[**Banner**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L67)]| +GET /settings/configuration/proxyHttpServer||[**ConfigurationSettings.get_proxy_http_servers**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L446)||DataSequence[[**ProxyHTTPServer**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L73)]| +GET /settings/configuration/reverseproxy||[**ConfigurationSettings.get_reverse_proxies**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L450)||DataSequence[[**ReverseProxy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L80)]| +GET /settings/configuration/cloudx||[**ConfigurationSettings.get_cloudx**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L454)||DataSequence[[**CloudX**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L84)]| +GET /settings/configuration/manageEncryptedPassword||[**ConfigurationSettings.get_manage_encrypted_password**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L458)||DataSequence[[**ManageEncryptedPassword**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L88)]| +GET /settings/configuration/cloudservices||[**ConfigurationSettings.get_cloudservices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L462)||DataSequence[[**CloudServices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L95)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/clientSessionTimeout||[**ConfigurationSettings.get_client_session_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L467)||DataSequence[[**ClientSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L116)]| +GET /settings/configuration/sessionLifeTime||[**ConfigurationSettings.get_session_life_time**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L471)||DataSequence[[**SessionLifeTime**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L122)]| +GET /settings/configuration/serverSessionTimeout||[**ConfigurationSettings.get_server_session_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L475)||DataSequence[[**ServerSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L133)]| +GET /settings/configuration/maxSessionsPerUser||[**ConfigurationSettings.get_max_sessions_per_user**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L479)||DataSequence[[**MaxSessionsPerUser**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L144)]| +GET /settings/configuration/passwordPolicy||[**ConfigurationSettings.get_password_policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L483)||DataSequence[[**PasswordPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L151)]| +GET /settings/configuration/vmanagedatastream||[**ConfigurationSettings.get_vmanage_data_stream**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L487)||DataSequence[[**VManageDataStream**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L166)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/dataCollectionOnNotification||[**ConfigurationSettings.get_data_collection_on_notification**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L492)||DataSequence[[**DataCollectionOnNotification**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L176)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/sdWanTelemetry||[**ConfigurationSettings.get_sdwan_telemetry**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L497)||DataSequence[[**SDWANTelemetry**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L180)]|PROVIDER, SINGLE_TENANT +GET /management/statsconfig||[**ConfigurationSettings.get_stats_config**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L502)||DataSequence[[**StatsOperation**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L184)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/spMetadata||[**ConfigurationSettings.get_sp_metadata**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L507)||str| +GET /management/elasticsearch/index/size||[**ConfigurationSettings.get_elasticsearch_db_size**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L511)||DataSequence[[**ElasticSearchDBSize**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L214)]| +GET /settings/configuration/googleMapKey||[**ConfigurationSettings.get_google_map_key**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L515)||DataSequence[[**GoogleMapKey**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L220)]| +GET /settings/configuration/maintenanceWindow||[**ConfigurationSettings.get_maintenance_window**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L519)||DataSequence[[**MaintenanceWindow**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L202)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/softwareMaintenance||[**ConfigurationSettings.get_software_install_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L524)||DataSequence[[**SoftwareInstallTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L224)]| +GET /settings/configuration/credentials||[**ConfigurationSettings.get_ips_signature_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L528)||DataSequence[[**IPSSignatureSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L252)]| +GET /settings/configuration/smartaccountcredentials||[**ConfigurationSettings.get_smart_account_credentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L532)||DataSequence[[**SmartAccountCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L266)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/pnpConnectSync||[**ConfigurationSettings.get_pnp_connect_sync**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L537)||DataSequence[[**PnPConnectSync**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L271)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/claimDevice||[**ConfigurationSettings.get_claim_device**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L542)||DataSequence[[**ClaimDevice**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L275)]| +GET /settings/configuration/walkme||[**ConfigurationSettings.get_walkme**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L546)||DataSequence[[**WalkMe**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L279)]| +GET /settings/configuration/smartLicensing||[**ConfigurationSettings.get_smart_licensing_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L550)||DataSequence[[**SmartLicensingSetting**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L285)]|PROVIDER, SINGLE_TENANT +GET /settings/configuration/cloudProviderSetting||[**ConfigurationSettings.get_cloud_credentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L555)||DataSequence[[**CloudCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L342)]| +PUT /settings/configuration/{setting_type}||[**ConfigurationSettings.edit_configuration_by_setting_type**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L567)|None|None| +PUT /settings/configuration/organization||[**ConfigurationSettings.edit_organizations**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L571)|[**Organization**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L20)|DataSequence[[**Organization**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L20)]| +PUT /settings/configuration/device||[**ConfigurationSettings.edit_devices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L575)|[**Device**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L29)|DataSequence[[**Device**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L29)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/emailNotificationSettings||[**ConfigurationSettings.edit_email_notification_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L580)|[**EmailNotificationSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L35)|DataSequence[[**EmailNotificationSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L35)]| +PUT /settings/configuration/hardwarerootca||[**ConfigurationSettings.edit_hardware_root_cas**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L586)|[**HardwareRootCA**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L39)|DataSequence[[**HardwareRootCA**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L39)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/certificate||[**ConfigurationSettings.edit_certificates**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L591)|[**Certificate**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L49)|DataSequence[[**Certificate**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L49)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/vedgecloud||[**ConfigurationSettings.edit_vedge_cloud**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L596)|[**VEdgeCloud**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L63)|DataSequence[[**VEdgeCloud**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L63)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/banner||[**ConfigurationSettings.edit_banner**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L601)|[**Banner**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L67)|DataSequence[[**Banner**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L67)]| +PUT /settings/configuration/proxyHttpServer||[**ConfigurationSettings.edit_proxy_http_servers**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L605)|[**ProxyHTTPServer**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L73)|DataSequence[[**ProxyHTTPServer**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L73)]| +PUT /settings/configuration/reverseproxy||[**ConfigurationSettings.edit_reverse_proxies**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L609)|[**ReverseProxy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L80)|DataSequence[[**ReverseProxy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L80)]| +PUT /settings/configuration/cloudx||[**ConfigurationSettings.edit_cloudx**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L613)|[**CloudX**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L84)|DataSequence[[**CloudX**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L84)]| +PUT /settings/configuration/manageEncryptedPassword||[**ConfigurationSettings.edit_manage_encrypted_password**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L617)|[**ManageEncryptedPassword**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L88)|DataSequence[[**ManageEncryptedPassword**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L88)]| +PUT /settings/configuration/cloudservices||[**ConfigurationSettings.edit_cloudservices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L621)|[**CloudServices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L95)|DataSequence[[**CloudServices**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L95)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/clientSessionTimeout||[**ConfigurationSettings.edit_client_session_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L626)|[**ClientSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L116)|DataSequence[[**ClientSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L116)]| +PUT /settings/configuration/sessionLifeTime||[**ConfigurationSettings.edit_session_life_time**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L630)|[**SessionLifeTime**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L122)|DataSequence[[**SessionLifeTime**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L122)]| +PUT /settings/configuration/serverSessionTimeout||[**ConfigurationSettings.edit_server_session_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L634)|[**ServerSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L133)|DataSequence[[**ServerSessionTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L133)]| +PUT /settings/configuration/maxSessionsPerUser||[**ConfigurationSettings.edit_max_sessions_per_user**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L638)|[**MaxSessionsPerUser**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L144)|DataSequence[[**MaxSessionsPerUser**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L144)]| +PUT /settings/configuration/passwordPolicy||[**ConfigurationSettings.edit_password_policy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L642)|[**PasswordPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L151)|DataSequence[[**PasswordPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L151)]| +PUT /settings/configuration/vmanagedatastream||[**ConfigurationSettings.edit_vmanage_data_stream**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L646)|[**VManageDataStream**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L166)|DataSequence[[**VManageDataStream**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L166)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/dataCollectionOnNotification||[**ConfigurationSettings.edit_data_collection_on_notification**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L651)|[**DataCollectionOnNotification**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L176)|DataSequence[[**DataCollectionOnNotification**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L176)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/sdWanTelemetry||[**ConfigurationSettings.edit_sdwan_telemetry**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L658)|[**SDWANTelemetry**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L180)|DataSequence[[**SDWANTelemetry**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L180)]|PROVIDER, SINGLE_TENANT +POST /management/statsconfig||[**ConfigurationSettings.edit_stats_config**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L663)|[**StatsConfig**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L312)|DataSequence[[**StatsOperation**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L184)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/spMetadata||[**ConfigurationSettings.edit_sp_metadata**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L668)|str|str| +PUT /management/elasticsearch/index/size||[**ConfigurationSettings.edit_elasticsearch_db_size**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L672)|[**ElasticSearchDBSize**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L214)|DataSequence[[**ElasticSearchDBSize**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L214)]| +PUT /settings/configuration/googleMapKey||[**ConfigurationSettings.edit_google_map_key**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L676)|[**GoogleMapKey**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L220)|DataSequence[[**GoogleMapKey**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L220)]| +PUT /settings/configuration/maintenanceWindow||[**ConfigurationSettings.edit_maintenance_window**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L680)|[**MaintenanceWindow**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L202)|DataSequence[[**MaintenanceWindow**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L202)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/softwareMaintenance||[**ConfigurationSettings.edit_software_install_timeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L685)|[**SoftwareInstallTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L224)|DataSequence[[**SoftwareInstallTimeout**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L224)]| +PUT /settings/configuration/credentials||[**ConfigurationSettings.edit_ips_signature_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L689)|[**IPSSignatureSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L252)|DataSequence[[**IPSSignatureSettings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L252)]| +PUT /settings/configuration/smartaccountcredentials||[**ConfigurationSettings.edit_smart_account_credentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L693)|[**SmartAccountCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L266)|DataSequence[[**SmartAccountCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L266)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/pnpConnectSync||[**ConfigurationSettings.edit_pnp_connect_sync**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L698)|[**PnPConnectSync**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L271)|DataSequence[[**PnPConnectSync**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L271)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/claimDevice||[**ConfigurationSettings.edit_claim_device**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L703)|[**ClaimDevice**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L275)|DataSequence[[**ClaimDevice**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L275)]| +PUT /settings/configuration/walkme||[**ConfigurationSettings.edit_walkme**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L707)|[**WalkMe**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L279)|DataSequence[[**WalkMe**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L279)]| +PUT /settings/configuration/smartLicensing||[**ConfigurationSettings.edit_smart_licensing_settings**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L711)|[**SmartLicensingSetting**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L285)|DataSequence[[**SmartLicensingSetting**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L285)]|PROVIDER, SINGLE_TENANT +PUT /settings/configuration/cloudProviderSetting||[**ConfigurationSettings.edit_cloud_credentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L716)|[**CloudCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L342)|DataSequence[[**CloudCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L342)]| +POST /settings/configuration/cloudProviderSetting||[**ConfigurationSettings.create_cloud_credentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L720)|[**CloudCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L342)|DataSequence[[**CloudCredentials**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_settings.py#L342)]| GET /template/device||[**ConfigurationTemplateMaster.get_device_template_list**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_template_master.py#L27)||DataSequence[[**DeviceTemplateInformation**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/templates.py#L45)]| POST /template/device/feature||[**ConfigurationTemplateMaster.create_device_template_from_feature_templates**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_template_master.py#L33)|None|[**TemplateID**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration_template_master.py#L14)| GET /app/json/application_protocol.json||[**MiscellaneousEndpoints.get_application_protocols**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/misc.py#L14)||DataSequence[[**ApplicationProtocolMap**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/misc/application_protocols.py#L28)]| diff --git a/catalystwan/api/admin_tech_api.py b/catalystwan/api/admin_tech_api.py index 9e0eb8a7..1d1d566d 100644 --- a/catalystwan/api/admin_tech_api.py +++ b/catalystwan/api/admin_tech_api.py @@ -118,7 +118,9 @@ def generate( except ManagerHTTPError as http_error: response = http_error.response # type: ignore if response.status_code == 200: - return response.json()["fileName"] + filename = response.json()["fileName"] + self._get_token_id(filename=filename, timeout=request_timeout, interval=polling_interval) + return filename if response.status_code == 400 and create_admin_tech_error_msgs in response.json().get("error", {}).get( "details", "" ): diff --git a/catalystwan/api/policy_api.py b/catalystwan/api/policy_api.py index a1a2afee..7e1cbc75 100644 --- a/catalystwan/api/policy_api.py +++ b/catalystwan/api/policy_api.py @@ -60,6 +60,7 @@ from catalystwan.endpoints.configuration.policy.list.extended_community import ConfigurationPolicyExtendedCommunityList from catalystwan.endpoints.configuration.policy.list.fqdn import ConfigurationPolicyFQDNList, FQDNListInfo from catalystwan.endpoints.configuration.policy.list.geo_location import ConfigurationPolicyGeoLocationList +from catalystwan.endpoints.configuration.policy.list.identity import ConfigurationPolicyIdentityList from catalystwan.endpoints.configuration.policy.list.ips_signature import ConfigurationPolicyIPSSignatureList from catalystwan.endpoints.configuration.policy.list.ipv6_prefix import ConfigurationPolicyIPv6PrefixList from catalystwan.endpoints.configuration.policy.list.local_app import ConfigurationPolicyLocalAppList, LocalAppListInfo @@ -77,6 +78,7 @@ ProtocolNameListInfo, ) from catalystwan.endpoints.configuration.policy.list.region import ConfigurationPolicyRegionList, RegionListInfo +from catalystwan.endpoints.configuration.policy.list.scalable_group_tag import ConfigurationPolicyScalableGroupTagList from catalystwan.endpoints.configuration.policy.list.site import ConfigurationPolicySiteList, SiteListInfo from catalystwan.endpoints.configuration.policy.list.sla import ConfigurationPolicySLAClassList, SLAClassListInfo from catalystwan.endpoints.configuration.policy.list.threat_grid_api_key import ConfigurationPolicyThreatGridApiKeyList @@ -183,9 +185,11 @@ from catalystwan.models.policy.list.data_ipv6_prefix import DataIPv6PrefixListInfo from catalystwan.models.policy.list.data_prefix import DataPrefixListInfo from catalystwan.models.policy.list.geo_location import GeoLocationListInfo +from catalystwan.models.policy.list.identity import IdentityList, IdentityListInfo from catalystwan.models.policy.list.ips_signature import IPSSignatureListInfo from catalystwan.models.policy.list.ipv6_prefix import IPv6PrefixListInfo from catalystwan.models.policy.list.local_domain import LocalDomainListInfo +from catalystwan.models.policy.list.scalable_group_tag import ScalableGroupTagList, ScalableGroupTagListInfo from catalystwan.models.policy.list.threat_grid_api_key import ThreatGridApiKeyList, ThreatGridApiKeyListInfo from catalystwan.models.policy.list.trunkgroup import TrunkGroupList, TrunkGroupListInfo from catalystwan.models.policy.list.umbrella_data import UmbrellaDataList, UmbrellaDataListInfo @@ -233,6 +237,7 @@ LocalDomainList: ConfigurationPolicyLocalDomainList, MirrorList: ConfigurationPolicyMirrorList, PolicerList: ConfigurationPolicyPolicerClassList, + ScalableGroupTagList: ConfigurationPolicyScalableGroupTagList, PortList: ConfigurationPolicyPortList, PreferredColorGroupList: ConfigurationPreferredColorGroupList, PrefixList: ConfigurationPolicyPrefixList, @@ -248,6 +253,7 @@ URLAllowList: ConfigurationPolicyURLAllowList, VPNList: ConfigurationPolicyVPNList, ZoneList: ConfigurationPolicyZoneList, + IdentityList: ConfigurationPolicyIdentityList, } POLICY_DEFINITION_ENDPOINTS_MAP: Mapping[type, type] = { @@ -544,6 +550,14 @@ def get(self, type: Type[VPNList]) -> DataSequence[VPNListInfo]: def get(self, type: Type[ZoneList]) -> DataSequence[ZoneListInfo]: ... + @overload + def get(self, type: Type[ScalableGroupTagList]) -> DataSequence[ScalableGroupTagListInfo]: + ... + + @overload + def get(self, type: Type[IdentityList]) -> DataSequence[IdentityListInfo]: + ... + # get by id @overload @@ -678,6 +692,14 @@ def get(self, type: Type[VPNList], id: UUID) -> VPNListInfo: def get(self, type: Type[ZoneList], id: UUID) -> ZoneListInfo: ... + @overload + def get(self, type: Type[ScalableGroupTagList], id: UUID) -> ScalableGroupTagListInfo: + ... + + @overload + def get(self, type: Type[IdentityList], id: UUID) -> IdentityListInfo: + ... + def get(self, type: Type[AnyPolicyList], id: Optional[UUID] = None) -> Any: endpoints = self.__get_list_endpoints_instance(type) if id is not None: diff --git a/catalystwan/endpoints/configuration/policy/list/identity.py b/catalystwan/endpoints/configuration/policy/list/identity.py new file mode 100644 index 00000000..1734d06c --- /dev/null +++ b/catalystwan/endpoints/configuration/policy/list/identity.py @@ -0,0 +1,48 @@ +# Copyright 2023 Cisco Systems, Inc. and its affiliates + +# mypy: disable-error-code="empty-body" +from uuid import UUID + +from catalystwan.endpoints import APIEndpoints, delete, get, post, put +from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints +from catalystwan.models.policy.list.identity import IdentityList, IdentityListEditPayload, IdentityListInfo +from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview +from catalystwan.typed_list import DataSequence + + +class ConfigurationPolicyIdentityList(APIEndpoints, PolicyListEndpoints): + @post("/template/policy/list/identity") + def create_policy_list(self, payload: IdentityList) -> PolicyListId: + ... + + @delete("/template/policy/list/identity/{id}") + def delete_policy_list(self, id: UUID) -> None: + ... + + @delete("/template/policy/list/identity") + def delete_policy_lists_with_info_tag(self, params: InfoTag) -> None: + ... + + @put("/template/policy/list/identity/{id}") + def edit_policy_list(self, id: UUID, payload: IdentityListEditPayload) -> None: + ... + + @get("/template/policy/list/identity/{id}") + def get_lists_by_id(self, id: UUID) -> IdentityListInfo: + ... + + @get("/template/policy/list/identity", "data") + def get_policy_lists(self) -> DataSequence[IdentityListInfo]: + ... + + @get("/template/policy/list/identity/filtered", "data") + def get_policy_lists_with_info_tag(self, params: InfoTag) -> DataSequence[IdentityListInfo]: + ... + + @post("/template/policy/list/identity/preview") + def preview_policy_list(self, payload: IdentityList) -> PolicyListPreview: + ... + + @get("/template/policy/list/identity/preview/{id}") + def preview_policy_list_by_id(self, id: UUID) -> PolicyListPreview: + ... diff --git a/catalystwan/endpoints/configuration/policy/list/scalable_group_tag.py b/catalystwan/endpoints/configuration/policy/list/scalable_group_tag.py new file mode 100644 index 00000000..a8ce0825 --- /dev/null +++ b/catalystwan/endpoints/configuration/policy/list/scalable_group_tag.py @@ -0,0 +1,52 @@ +# Copyright 2023 Cisco Systems, Inc. and its affiliates + +# mypy: disable-error-code="empty-body" +from uuid import UUID + +from catalystwan.endpoints import APIEndpoints, delete, get, post, put +from catalystwan.endpoints.configuration.policy.abstractions import PolicyListEndpoints +from catalystwan.models.policy.list.scalable_group_tag import ( + ScalableGroupTagList, + ScalableGroupTagListEditPayload, + ScalableGroupTagListInfo, +) +from catalystwan.models.policy.policy_list import InfoTag, PolicyListId, PolicyListPreview +from catalystwan.typed_list import DataSequence + + +class ConfigurationPolicyScalableGroupTagList(APIEndpoints, PolicyListEndpoints): + @post("/template/policy/list/scalablegrouptag") + def create_policy_list(self, payload: ScalableGroupTagList) -> PolicyListId: + ... + + @delete("/template/policy/list/scalablegrouptag/{id}") + def delete_policy_list(self, id: UUID) -> None: + ... + + @delete("/template/policy/list/scalablegrouptag") + def delete_policy_lists_with_info_tag(self, params: InfoTag) -> None: + ... + + @put("/template/policy/list/scalablegrouptag/{id}") + def edit_policy_list(self, id: UUID, payload: ScalableGroupTagListEditPayload) -> None: + ... + + @get("/template/policy/list/scalablegrouptag/{id}") + def get_lists_by_id(self, id: UUID) -> ScalableGroupTagListInfo: + ... + + @get("/template/policy/list/scalablegrouptag", "data") + def get_policy_lists(self) -> DataSequence[ScalableGroupTagListInfo]: + ... + + @get("/template/policy/list/scalablegrouptag/filtered", "data") + def get_policy_lists_with_info_tag(self, params: InfoTag) -> DataSequence[ScalableGroupTagListInfo]: + ... + + @post("/template/policy/list/scalablegrouptag/preview") + def preview_policy_list(self, payload: ScalableGroupTagList) -> PolicyListPreview: + ... + + @get("/template/policy/list/scalablegrouptag/preview/{id}") + def preview_policy_list_by_id(self, id: UUID) -> PolicyListPreview: + ... diff --git a/catalystwan/endpoints/configuration_settings.py b/catalystwan/endpoints/configuration_settings.py index ae486ff8..a3274b7c 100644 --- a/catalystwan/endpoints/configuration_settings.py +++ b/catalystwan/endpoints/configuration_settings.py @@ -50,9 +50,11 @@ class HardwareRootCA(BaseModel): class Certificate(BaseModel): model_config = ConfigDict(populate_by_name=True) certificate_signing: str = Field(serialization_alias="certificateSigning", validation_alias="certificateSigning") - validity_period: Optional[str] = Field(serialization_alias="validityPeriod", validation_alias="validityPeriod") + validity_period: Optional[str] = Field( + default=None, serialization_alias="validityPeriod", validation_alias="validityPeriod" + ) retrieve_interval: Optional[str] = Field( - serialization_alias="retrieveInterval", validation_alias="retrieveInterval" + default=None, serialization_alias="retrieveInterval", validation_alias="retrieveInterval" ) first_name: Optional[str] = Field(default=None, serialization_alias="firstName", validation_alias="firstName") last_name: Optional[str] = Field(default=None, serialization_alias="lastName", validation_alias="lastName") diff --git a/catalystwan/models/configuration/feature_profile/parcel.py b/catalystwan/models/configuration/feature_profile/parcel.py index bd55631f..537faf5c 100644 --- a/catalystwan/models/configuration/feature_profile/parcel.py +++ b/catalystwan/models/configuration/feature_profile/parcel.py @@ -31,6 +31,7 @@ "bfd", "bgp", "cellular-controller", + "cellular-profile", "class", "color", "config", @@ -63,6 +64,7 @@ "omp", "policer", "policy-settings", + "policy", "preferred-color-group", "prefix", "qos-policy", @@ -74,11 +76,13 @@ "routing/ospfv3/ipv6", "security-fqdn", "security-geolocation", + "security-identity", "security-ipssignature", "security-localapp", "security-localdomain", "security-port", "security-protocolname", + "security-scalablegrouptag", "security-urllist", "security-zone", "security", @@ -90,9 +94,11 @@ "tloc", "tracker", "trackergroup", + "traffic-policy", "unified/advanced-inspection-profile", "unified/advanced-malware-protection", "unified/intrusion-prevention", + "unified/ngfirewall", "unified/ssl-decryption-profile", "unified/ssl-decryption", "unified/url-filtering", @@ -102,15 +108,11 @@ "wan/vpn/interface/dsl-pppoa", "wan/vpn/interface/dsl-pppoe", "wan/vpn/interface/ethernet", + "wan/vpn/interface/ethpppoe", "wan/vpn/interface/gre", "wan/vpn/interface/multilink", - "traffic-policy", "wan/vpn/interface/serial", "wirelesslan", - "cellular-profile", - "wan/vpn/interface/ethpppoe", - "unified/ngfirewall", - "policy", ] diff --git a/catalystwan/models/configuration/feature_profile/sdwan/policy_object/__init__.py b/catalystwan/models/configuration/feature_profile/sdwan/policy_object/__init__.py index 80c74a32..af5c4df9 100644 --- a/catalystwan/models/configuration/feature_profile/sdwan/policy_object/__init__.py +++ b/catalystwan/models/configuration/feature_profile/sdwan/policy_object/__init__.py @@ -32,10 +32,12 @@ from .security.data_prefix import SecurityDataPrefixEntry, SecurityDataPrefixParcel from .security.fqdn import FQDNDomainParcel, FQDNListEntry from .security.geolocation_list import GeoLocationListEntry, GeoLocationListParcel +from .security.identity import IdentityEntry, IdentityParcel from .security.intrusion_prevention import IntrusionPreventionParcel from .security.ips_signature import IPSSignatureListEntry, IPSSignatureParcel from .security.local_domain import LocalDomainListEntry, LocalDomainParcel from .security.protocol_list import ProtocolListEntry, ProtocolListParcel +from .security.scalable_group_tag import ScalableGroupTagEntry, ScalableGroupTagParcel from .security.security_port import SecurityPortListEntry, SecurityPortParcel from .security.ssl_decryption import SslDecryptionParcel from .security.ssl_decryption_profile import SslDecryptionProfileParcel @@ -56,37 +58,40 @@ ExtendedCommunityParcel, FowardingClassParcel, FQDNDomainParcel, + FQDNDomainParcel, + GeoLocationListParcel, GeoLocationListParcel, + IdentityParcel, + IdentityParcel, IntrusionPreventionParcel, IPSSignatureParcel, + IPSSignatureParcel, IPv6DataPrefixParcel, IPv6PrefixListParcel, LocalDomainParcel, + LocalDomainParcel, MirrorParcel, PolicerParcel, PreferredColorGroupParcel, PrefixListParcel, - SLAClassParcel, - TlocParcel, - StandardCommunityParcel, - LocalDomainParcel, - FQDNDomainParcel, - IPSSignatureParcel, - SecurityPortParcel, ProtocolListParcel, - GeoLocationListParcel, - SecurityZoneListParcel, + ScalableGroupTagParcel, SecurityApplicationListParcel, SecurityDataPrefixParcel, SecurityPortParcel, + SecurityPortParcel, SecurityZoneListParcel, + SecurityZoneListParcel, + SLAClassParcel, SLAClassParcel, SslDecryptionParcel, SslDecryptionProfileParcel, StandardCommunityParcel, + StandardCommunityParcel, + TlocParcel, TlocParcel, - URLParcel, UrlFilteringParcel, + URLParcel, ], Field(discriminator="type_"), ] @@ -116,6 +121,10 @@ "FQDNListEntry", "GeoLocationListEntry", "GeoLocationListParcel", + "IdentityEntry", + "IdentityEntry", + "IdentityParcel", + "IdentityParcel", "IntrusionPreventionParcel", "IPSSignatureListEntry", "IPSSignatureParcel", @@ -135,6 +144,8 @@ "PrefixListParcel", "ProtocolListEntry", "ProtocolListParcel", + "ScalableGroupTagEntry", + "ScalableGroupTagParcel", "SecurityApplicationFamilyListEntry", "SecurityApplicationListEntry", "SecurityApplicationListParcel", @@ -154,9 +165,9 @@ "StandardCommunityParcel", "TlocEntry", "TlocParcel", - "URLParcel", "URLAllowParcel", "URLBlockParcel", + "URLParcel", ) diff --git a/catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/identity.py b/catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/identity.py new file mode 100644 index 00000000..6afe702a --- /dev/null +++ b/catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/identity.py @@ -0,0 +1,29 @@ +from typing import List, Literal, Optional + +from pydantic import AliasPath, BaseModel, Field + +from catalystwan.api.configuration_groups.parcel import Global, _ParcelBase, as_optional_global + + +class IdentityEntry(BaseModel): + user: Optional[Global[str]] = Field(default=None) + user_group: Optional[Global[str]] = Field( + default=None, validation_alias="userGroup", serialization_alias="userGroup" + ) + + +class IdentityParcel(_ParcelBase): + type_: Literal["security-identity"] = Field(default="security-identity", exclude=True) + entries: List[IdentityEntry] = Field( + validation_alias=AliasPath("data", "entries"), + default_factory=list, + description="Array of Users and User Groups", + ) + + def add_entry(self, user: Optional[str] = None, user_group: Optional[str] = None): + self.entries.append( + IdentityEntry( + user=as_optional_global(user), + user_group=as_optional_global(user_group), + ) + ) diff --git a/catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/scalable_group_tag.py b/catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/scalable_group_tag.py new file mode 100644 index 00000000..d440c691 --- /dev/null +++ b/catalystwan/models/configuration/feature_profile/sdwan/policy_object/security/scalable_group_tag.py @@ -0,0 +1,23 @@ +from typing import List, Literal, Optional + +from pydantic import AliasPath, BaseModel, Field + +from catalystwan.api.configuration_groups.parcel import Global, _ParcelBase, as_optional_global + + +class ScalableGroupTagEntry(BaseModel): + sgt_name: Optional[Global[str]] = Field(default=None, validation_alias="sgtName", serialization_alias="sgtName") + tag: Optional[Global[str]] = Field(default=None) + + +class ScalableGroupTagParcel(_ParcelBase): + type_: Literal["security-scalablegrouptag"] = Field(default="security-scalablegrouptag") + entries: List[ScalableGroupTagEntry] = Field(validation_alias=AliasPath("data", "entries"), default_factory=list) + + def add_entry(self, sgt_name: Optional[str] = None, tag: Optional[str] = None): + self.entries.append( + ScalableGroupTagEntry( + sgt_name=as_optional_global(sgt_name), + tag=as_optional_global(tag), + ) + ) diff --git a/catalystwan/models/policy/__init__.py b/catalystwan/models/policy/__init__.py index 1944031a..a0d91e14 100644 --- a/catalystwan/models/policy/__init__.py +++ b/catalystwan/models/policy/__init__.py @@ -23,6 +23,7 @@ from catalystwan.models.policy.list.data_prefix import DataPrefixList, DataPrefixListInfo from catalystwan.models.policy.list.fqdn import FQDNList, FQDNListInfo from catalystwan.models.policy.list.geo_location import GeoLocationList, GeoLocationListInfo +from catalystwan.models.policy.list.identity import IdentityList, IdentityListInfo from catalystwan.models.policy.list.ips_signature import IPSSignatureList, IPSSignatureListInfo from catalystwan.models.policy.list.ipv6_prefix import IPv6PrefixList, IPv6PrefixListInfo from catalystwan.models.policy.list.local_app import LocalAppList, LocalAppListInfo @@ -34,6 +35,7 @@ from catalystwan.models.policy.list.prefix import PrefixList, PrefixListInfo from catalystwan.models.policy.list.protocol_name import ProtocolNameList, ProtocolNameListInfo from catalystwan.models.policy.list.region import RegionList, RegionListInfo +from catalystwan.models.policy.list.scalable_group_tag import ScalableGroupTagList, ScalableGroupTagListInfo from catalystwan.models.policy.list.site import SiteList, SiteListInfo from catalystwan.models.policy.list.sla import SLAClassList, SLAClassListInfo from catalystwan.models.policy.list.threat_grid_api_key import ThreatGridApiKeyList, ThreatGridApiKeyListInfo @@ -129,6 +131,7 @@ GeoLocationList, IPSSignatureList, IPv6PrefixList, + IdentityList, LocalAppList, LocalDomainList, MirrorList, @@ -148,6 +151,7 @@ URLAllowList, VPNList, ZoneList, + ScalableGroupTagList, ], Field(discriminator="type"), ] @@ -169,6 +173,7 @@ IPSSignatureListInfo, IPv6PrefixListInfo, LocalAppListInfo, + IdentityListInfo, LocalDomainListInfo, MirrorListInfo, PolicerListInfo, @@ -187,6 +192,7 @@ URLBlockListInfo, VPNListInfo, ZoneListInfo, + ScalableGroupTagListInfo, ], Field(discriminator="type"), ] @@ -294,6 +300,8 @@ "VPNMembershipPolicy", "ZoneBasedFWPolicy", "ZoneList", + "ScalableGroupTagList", + "IdentityList", ) diff --git a/catalystwan/models/policy/list/identity.py b/catalystwan/models/policy/list/identity.py new file mode 100644 index 00000000..ef6aeb9c --- /dev/null +++ b/catalystwan/models/policy/list/identity.py @@ -0,0 +1,29 @@ +# Copyright 2022 Cisco Systems, Inc. and its affiliates + +from typing import List, Literal + +from pydantic import BaseModel, ConfigDict, Field + +from catalystwan.models.policy.policy_list import PolicyListBase, PolicyListId, PolicyListInfo + + +class IdentityListEntry(BaseModel): + model_config = ConfigDict(populate_by_name=True) + user: str = Field(default=None) + user_group: str = Field(default=None, validation_alias="userGroup", serialization_alias="userGroup") + + +class IdentityList(PolicyListBase): + type: Literal["identity"] = "identity" + entries: List[IdentityListEntry] = Field(default_factory=list) + + def add_entry(self, user: str, user_group: str) -> None: + self._add_entry(IdentityListEntry(user=user, user_group=user_group)) + + +class IdentityListEditPayload(IdentityList, PolicyListId): + pass + + +class IdentityListInfo(IdentityList, PolicyListInfo): + pass diff --git a/catalystwan/models/policy/list/scalable_group_tag.py b/catalystwan/models/policy/list/scalable_group_tag.py new file mode 100644 index 00000000..503051ab --- /dev/null +++ b/catalystwan/models/policy/list/scalable_group_tag.py @@ -0,0 +1,30 @@ +# Copyright 2022 Cisco Systems, Inc. and its affiliates + +from typing import List, Literal + +from pydantic import BaseModel, ConfigDict, Field + +from catalystwan.models.policy.policy_list import PolicyListBase, PolicyListId, PolicyListInfo + + +class ScalableGroupTagListEntry(BaseModel): + model_config = ConfigDict(populate_by_name=True) + + stg_name: str = Field(serialization_alias="sgtName", validation_alias="sgtName") + tag: str = Field(serialization_alias="tag", validation_alias="tag") + + +class ScalableGroupTagList(PolicyListBase): + type: Literal["scalablegrouptag", "scalableGroupTag"] = "scalablegrouptag" + entries: List[ScalableGroupTagListEntry] = Field(default_factory=list) + + def add_entry(self, stg_name: str, tag: str) -> None: + self._add_entry(ScalableGroupTagListEntry(stg_name=stg_name, tag=tag)) + + +class ScalableGroupTagListEditPayload(ScalableGroupTagList, PolicyListId): + pass + + +class ScalableGroupTagListInfo(ScalableGroupTagList, PolicyListInfo): + pass diff --git a/catalystwan/session.py b/catalystwan/session.py index bff2226e..d0f5da33 100644 --- a/catalystwan/session.py +++ b/catalystwan/session.py @@ -179,6 +179,7 @@ def __init__( self._state: ManagerSessionState = ManagerSessionState.OPERATIVE self.restart_timeout: int = 1200 self.polling_requests_timeout: int = 10 + self.request_timeout: Optional[int] = None self._validate_responses = validate_responses self._is_for_testing = False @@ -335,8 +336,11 @@ def elapsed() -> float: def request(self, method, url, *args, **kwargs) -> ManagerResponse: full_url = self.get_full_url(url) + _kwargs = dict(kwargs) + if self.request_timeout is not None: # do not modify user provided kwargs unless property is set + _kwargs.update(timeout=self.request_timeout) try: - response = super(ManagerSession, self).request(method, full_url, *args, **kwargs) + response = super(ManagerSession, self).request(method, full_url, *args, **_kwargs) self.logger.debug(self.response_trace(response, None)) if self.state == ManagerSessionState.RESTART_IMMINENT and response.status_code == 503: self.state = ManagerSessionState.WAIT_SERVER_READY_AFTER_RESTART @@ -344,14 +348,14 @@ def request(self, method, url, *args, **kwargs) -> ManagerResponse: self.logger.debug(self.response_trace(exception.response, exception.request)) if self.state == ManagerSessionState.RESTART_IMMINENT and isinstance(exception, ConnectionError): self.state = ManagerSessionState.WAIT_SERVER_READY_AFTER_RESTART - return self.request(method, url, *args, **kwargs) + return self.request(method, url, *args, **_kwargs) self.logger.debug(exception) raise ManagerRequestException(*exception.args, request=exception.request, response=exception.response) if self.enable_relogin and response.jsessionid_expired and self.state == ManagerSessionState.OPERATIVE: self.logger.warning("Logging to session. Reason: expired JSESSIONID detected in response headers") self.state = ManagerSessionState.LOGIN - return self.request(method, url, *args, **kwargs) + return self.request(method, url, *args, **_kwargs) if response.request.url and "passwordReset.html" in response.request.url: raise DefaultPasswordError("Password must be changed to use this session.") @@ -379,7 +383,7 @@ def __create_base_url(self) -> str: scheme: str = url.scheme or "https" base_url = urlunparse((scheme, netloc, "", None, None, None)) if self.port: - return f"{base_url}:{self.port}" + return f"{base_url}:{self.port}" # noqa: E231 return base_url def about(self) -> AboutInfo: diff --git a/catalystwan/tests/test_admin_tech_api.py b/catalystwan/tests/test_admin_tech_api.py index 2a7788a2..17f132b8 100644 --- a/catalystwan/tests/test_admin_tech_api.py +++ b/catalystwan/tests/test_admin_tech_api.py @@ -4,7 +4,7 @@ import tempfile import unittest from pathlib import Path -from unittest.mock import ANY, patch +from unittest.mock import ANY, MagicMock, patch from catalystwan.api.admin_tech_api import ( AdminTechAPI, @@ -93,16 +93,22 @@ def test_get_all(self, mock_session, mock_response): @patch("catalystwan.response.ManagerResponse") def test_generate(self, mock_session, mock_response): # Arrange - mock_session.post.return_value = mock_response - mock_response.status_code = 200 - mock_response.json.return_value = self.admin_tech_generate_response + post_response = MagicMock() + mock_session.post.return_value = post_response + post_response.status_code = 200 + post_response.json.return_value = self.admin_tech_generate_response + get_response = MagicMock() + mock_session.get.return_value = get_response + get_response.json.return_value = self.admin_tech_infos + # Act filename = AdminTechAPI(mock_session).generate( device_id=self.device_ip, polling_timeout=0.01, polling_interval=0.01 ) - print(filename) + # Assert mock_session.post.assert_called_once_with(url="/dataservice/device/tools/admintech", json=ANY, timeout=ANY) + mock_session.get.assert_called_once_with("/dataservice/device/tools/admintechs") self.assertEqual(filename, self.admin_tech_generate_response["fileName"]) @patch("catalystwan.session.ManagerSession") diff --git a/catalystwan/utils/config_migration/converters/policy/policy_lists.py b/catalystwan/utils/config_migration/converters/policy/policy_lists.py index a25b6679..4665e194 100644 --- a/catalystwan/utils/config_migration/converters/policy/policy_lists.py +++ b/catalystwan/utils/config_migration/converters/policy/policy_lists.py @@ -20,6 +20,7 @@ FowardingClassParcel, FQDNDomainParcel, GeoLocationListParcel, + IdentityParcel, IPSSignatureParcel, IPv6DataPrefixParcel, IPv6PrefixListParcel, @@ -29,6 +30,7 @@ PreferredColorGroupParcel, PrefixListParcel, ProtocolListParcel, + ScalableGroupTagParcel, SecurityPortParcel, SecurityZoneListParcel, SLAClassParcel, @@ -70,8 +72,10 @@ URLBlockList, ZoneList, ) +from catalystwan.models.policy.list.identity import IdentityList from catalystwan.models.policy.list.local_app import LocalAppList from catalystwan.models.policy.list.region import RegionList, RegionListInfo +from catalystwan.models.policy.list.scalable_group_tag import ScalableGroupTagList from catalystwan.models.policy.list.site import SiteList, SiteListInfo from catalystwan.models.policy.list.threat_grid_api_key import ThreatGridApiKeyList from catalystwan.models.policy.list.vpn import VPNList, VPNListInfo @@ -430,6 +434,25 @@ def threat_grid_api(in_: ThreatGridApiKeyList, context: PolicyConvertContext) -> context.threat_grid_api = out return ConvertResult[None](status="complete") + +def scalable_group_tag( + in_: ScalableGroupTagList, context: PolicyConvertContext +) -> ConvertResult[ScalableGroupTagParcel]: + out = ScalableGroupTagParcel(**_get_parcel_name_desc(in_)) + for e in in_.entries: + out.add_entry(sgt_name=e.stg_name, tag=e.tag) + return ConvertResult[ScalableGroupTagParcel](output=out) + + +def identity_list(in_: IdentityList, context: PolicyConvertContext) -> ConvertResult[IdentityParcel]: + out = IdentityParcel(**_get_parcel_name_desc(in_)) + for e in in_.entries: + out.add_entry( + user=e.user, + user_group=e.user_group, + ) + return ConvertResult[IdentityParcel](output=out) + OPL = TypeVar("OPL", AnyPolicyObjectParcel, None) Input = AnyPolicyList @@ -437,9 +460,9 @@ def threat_grid_api(in_: ThreatGridApiKeyList, context: PolicyConvertContext) -> CONVERTERS: Mapping[Type[Input], Callable[..., Output]] = { - ASPathList: as_path, AppList: app_list, AppProbeClassList: app_probe, + ASPathList: as_path, ClassMapList: class_map, ColorList: color, CommunityList: community, @@ -449,6 +472,7 @@ def threat_grid_api(in_: ThreatGridApiKeyList, context: PolicyConvertContext) -> ExtendedCommunityList: extended_community, FQDNList: fqdn, GeoLocationList: geo_location, + IdentityList: identity_list, IPSSignatureList: ips_signature, IPv6PrefixList: prefix_ipv6, LocalAppList: local_app_list, @@ -460,6 +484,7 @@ def threat_grid_api(in_: ThreatGridApiKeyList, context: PolicyConvertContext) -> PrefixList: prefix, ProtocolNameList: protocol, RegionList: region, + ScalableGroupTagList: scalable_group_tag, SiteList: site, SLAClassList: sla_class, TLOCList: tloc, diff --git a/catalystwan/utils/config_migration/steps/constants.py b/catalystwan/utils/config_migration/steps/constants.py index 553f9857..0051cfc4 100644 --- a/catalystwan/utils/config_migration/steps/constants.py +++ b/catalystwan/utils/config_migration/steps/constants.py @@ -26,6 +26,7 @@ "bgp", "cisco_ospfv3", "cisco_ospf", + "ospf" ] NO_SUBSTITUTE_ERROR = "NO_SUBSTITUTE_ERROR" @@ -69,6 +70,7 @@ "cisco_bgp": WAN_BGP, "bgp": WAN_BGP, "cisco_ospf": WAN_OSPF, + "ospf": WAN_OSPF, "cisco_ospfv3": WAN_OSPFV3, "vpn-vedge-interface-gre": WAN_VPN_GRE, "cisco_vpn_interface_gre": WAN_VPN_GRE, @@ -87,6 +89,7 @@ "cisco_bgp": LAN_BGP, "bgp": LAN_BGP, "cisco_ospf": LAN_OSPF, + "ospf": LAN_OSPF, "cisco_ospfv3": LAN_OSPFV3, "vpn-vedge-interface-gre": LAN_VPN_GRE, "cisco_vpn_interface": LAN_VPN_ETHERNET, diff --git a/catalystwan/utils/reachability.py b/catalystwan/utils/reachability.py index cfb64a55..0a73e1a2 100644 --- a/catalystwan/utils/reachability.py +++ b/catalystwan/utils/reachability.py @@ -1,4 +1,4 @@ -# Copyright 2022 Cisco Systems, Inc. and its affiliates +# Copyright 2024 Cisco Systems, Inc. and its affiliates from enum import Enum @@ -6,3 +6,9 @@ class Reachability(str, Enum): REACHABLE = "reachable" UNREACHABLE = "unreachable" + UNKNOWN = "unknown" + + @classmethod + def _missing_(cls, value): + # Value emitted by Manager ver. 20.10 can be None + return cls.UNKNOWN diff --git a/pyproject.toml b/pyproject.toml index 7e7d3d73..c619c60e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "catalystwan" -version = "0.33.8dev7" +version = "0.34.0dev0" description = "Cisco Catalyst WAN SDK for Python" authors = ["kagorski "] readme = "README.md" @@ -29,7 +29,7 @@ pytest-mock = "^3.7.0" pytest-subtests = "^0.11.0" isort = "^5.10.1" pre-commit = "^2.19.0" -mypy = "^1.0.0" +mypy = ">=1.0.0, <1.11.0" flake8 = "^5.0.4" Sphinx = "^5.2.3"