Skip to main content

External Dynamic List Objects

External Dynamic List (EDL) objects enable dynamic import of IP addresses, domains, URLs, and mobile identifiers from external sources in Strata Cloud Manager. The scm CLI provides commands to create, update, delete, show, backup, and load external dynamic list objects.

Overview

The external-dynamic-list commands allow you to:

  • Configure predefined threat intelligence feeds
  • Create custom EDLs with scheduled updates
  • Import IP addresses, domains, URLs, IMSI, and IMEI lists
  • Configure authentication for secure sources
  • Export EDLs for backup or migration

EDL Types

Predefined Lists

Palo Alto Networks managed threat feeds:

TypeCommon URLs
predefined_ippanw-bulletproof-ip-list
predefined_ippanw-highrisk-ip-list
predefined_ippanw-known-ip-list
predefined_ippanw-torexit-ip-list
predefined_urlpanw-malware-url-list
predefined_urlpanw-phishing-url-list

Custom Lists

User-defined lists with flexible update schedules:

TypeContentFormat
ipIP addressesOne per line, CIDR notation supported
domainDomain namesOne per line, wildcards supported
urlURLsFull URLs, one per line
imsiMobile subscriber IDsNumeric identifiers
imeiMobile equipment IDsDevice identifiers

Set External Dynamic List

Create or update an external dynamic list object.

Syntax

scm set object external-dynamic-list NAME [OPTIONS]

Arguments

ArgumentDescriptionRequired
NAMEName of the external dynamic listYes

Options

OptionDescriptionRequired
--folder TEXTFolder locationYes*
--snippet TEXTSnippet locationYes*
--device TEXTDevice locationYes*
--type TEXTEDL type (predefined_ip, predefined_url, ip, domain, url, imsi, imei)Yes
--url TEXTSource URL for the listYes
--description TEXTDescription of the EDLNo
--exception-list TEXTItem to exclude from the list (repeat for multiple)No
--username TEXTUsername for basic authenticationNo
--password TEXTPassword for basic authenticationNo
--certificate-profile TEXTCertificate profile for authenticationNo
--recurring TEXTUpdate frequency (five_minute, hourly, daily, weekly, monthly)No**
--hour TEXTHour for updates (00-23)No***
--day TEXTDay for updatesNo***
--expand-domain / --no-expand-domainExpand to include subdomains (domain type only)No

* Exactly one of --folder, --snippet, or --device is required.

** Required for custom EDL types (ip, domain, url, imsi, imei).

*** Required based on recurring frequency.

Examples

Create Predefined IP Blocklist

$ scm set object external-dynamic-list paloalto-bulletproof \
--folder Texas \
--type predefined_ip \
--url "panw-bulletproof-ip-list" \
--description "Palo Alto Networks Bulletproof IP list"
---> 100%
Created external dynamic list: paloalto-bulletproof in folder Texas

Create Custom IP List with Hourly Updates

$ scm set object external-dynamic-list custom-threats \
--folder Texas \
--type ip \
--url "https://threats.example.com/ips.txt" \
--recurring hourly \
--description "Custom threat IP list"
---> 100%
Created external dynamic list: custom-threats in folder Texas

Create Domain List with Authentication

$ scm set object external-dynamic-list malware-domains \
--folder Texas \
--type domain \
--url "https://secure.example.com/domains.txt" \
--username "api_user" \
--password "secure_token" \
--recurring daily \
--hour 02 \
--expand-domain \
--description "Malware domain blocklist"
---> 100%
Created external dynamic list: malware-domains in folder Texas

Delete External Dynamic List

Delete an external dynamic list object from SCM.

Syntax

scm delete object external-dynamic-list NAME [OPTIONS]

Arguments

ArgumentDescriptionRequired
NAMEName of the external dynamic list object to deleteYes

Options

OptionDescriptionRequired
--folder TEXTFolder locationYes*
--snippet TEXTSnippet locationYes*
--device TEXTDevice locationYes*
--forceSkip confirmation promptNo

* Exactly one of --folder, --snippet, or --device is required.

Example

$ scm delete object external-dynamic-list custom-threats --folder Texas --force
---> 100%
Deleted external dynamic list: custom-threats from folder Texas

Load External Dynamic Lists

Load multiple external dynamic list objects from a YAML file.

Syntax

scm load object external-dynamic-list [OPTIONS]

Options

OptionDescriptionRequired
--file TEXTPath to YAML file containing external dynamic list definitionsYes
--folder TEXTOverride folder location for all objectsNo
--snippet TEXTOverride snippet location for all objectsNo
--device TEXTOverride device location for all objectsNo
--dry-runPreview changes without applying themNo

YAML File Format

---
external_dynamic_lists:
- name: paloalto-bulletproof
folder: Texas
type: predefined_ip
url: "panw-bulletproof-ip-list"
description: "Palo Alto Networks Bulletproof IP list"

- name: office-ips
folder: Texas
type: ip
url: "https://internal.company.com/office-ips.txt"
description: "Office IP addresses"
recurring: daily
hour: "06"
exception_list:
- "10.0.0.0/8"
- "172.16.0.0/12"

- name: malware-domains
folder: Texas
type: domain
url: "https://threat-intel.example.com/domains"
description: "Known malware domains"
username: "api_user"
password: "secure_token"
recurring: hourly
expand_domain: true

Examples

Load with Original Locations

$ scm load object external-dynamic-list --file edls.yml
---> 100%
✓ Loaded external dynamic list: paloalto-bulletproof
✓ Loaded external dynamic list: office-ips
✓ Loaded external dynamic list: malware-domains

Successfully loaded 3 out of 3 external dynamic lists from 'edls.yml'

Load with Folder Override

$ scm load object external-dynamic-list --file edls.yml --folder Austin
---> 100%
✓ Loaded external dynamic list: paloalto-bulletproof
✓ Loaded external dynamic list: office-ips
✓ Loaded external dynamic list: malware-domains

Successfully loaded 3 out of 3 external dynamic lists from 'edls.yml'
note

When using container override options (--folder, --snippet, --device), all external dynamic lists will be loaded into the specified container, ignoring the container specified in the YAML file.

Show External Dynamic List

Display external dynamic list objects.

Syntax

scm show object external-dynamic-list [NAME] [OPTIONS]

Arguments

ArgumentDescriptionRequired
NAMEName of the external dynamic list object to show; omit to list allNo

Options

OptionDescriptionRequired
--folder TEXTFolder locationYes*
--snippet TEXTSnippet locationYes*
--device TEXTDevice locationYes*
--max-results INTEGERMaximum number of results to displayNo
--output [table|json|yaml]Output format (default: table)No

* Exactly one of --folder, --snippet, or --device is required.

note

When no NAME argument is provided, all items are listed by default.

Examples

Show Specific External Dynamic List

$ scm show object external-dynamic-list custom-threats --folder Texas
---> 100%
External Dynamic List: custom-threats
Location: Folder 'Texas'
Type: ip
URL: https://threats.example.com/ips.txt
Recurring: hourly
Description: Custom threat IP list
ID: 123e4567-e89b-12d3-a456-426614174000

List All External Dynamic Lists (Default Behavior)

$ scm show object external-dynamic-list --folder Texas
---> 100%
External Dynamic Lists in folder 'Texas':
------------------------------------------------------------
Name: paloalto-bulletproof
Location: Folder 'Texas'
Type: predefined_ip
URL: panw-bulletproof-ip-list
Description: Palo Alto Networks Bulletproof IP list
------------------------------------------------------------
Name: custom-threats
Location: Folder 'Texas'
Type: ip
URL: https://threats.example.com/ips.txt
Recurring: hourly
Description: Custom threat IP list
------------------------------------------------------------
Name: malware-domains
Location: Folder 'Texas'
Type: domain
URL: https://secure.example.com/domains.txt
Recurring: daily at 02:00
Authentication: Basic (api_user)
Expand Domain: Yes
Description: Malware domain blocklist
------------------------------------------------------------

Backup External Dynamic Lists

Backup all external dynamic list objects from a specified location to a YAML file.

Syntax

scm backup object external-dynamic-list [OPTIONS]

Options

OptionDescriptionRequired
--folder TEXTFolder to backup external dynamic lists fromNo*
--snippet TEXTSnippet to backup external dynamic lists fromNo*
--device TEXTDevice to backup external dynamic lists fromNo*
--file TEXTOutput filename (defaults to auto-generated)No

* One of --folder, --snippet, or --device is required.

Examples

Backup from Folder

$ scm backup object external-dynamic-list --folder Texas
---> 100%
Successfully backed up 8 external dynamic lists to external-dynamic-list_folder_texas_20240115_120530.yaml

Backup with Custom Filename

$ scm backup object external-dynamic-list --folder Texas --file texas-edls.yaml
---> 100%
Successfully backed up 8 external dynamic lists to texas-edls.yaml

Best Practices

  1. Update Frequency: Balance freshness and resource usage -- critical lists every 5 minutes, standard lists daily.
  2. List Validation: Ensure source URLs are reliable and properly formatted.
  3. Exception Lists: Use exception lists for false positives or internal resources.
  4. Authentication: Use HTTPS and authentication for sensitive lists.
  5. Monitoring: Monitor EDL update status and failures regularly.
  6. Use YAML for Bulk Operations: For complex deployments, use YAML files.
  7. Organize by Container: Keep EDLs organized in appropriate folders, snippets, or devices.