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.