Skip to main content

SDK Configuration Objects

This document lists all configuration object classes provided by the Python SDK (scm.config.objects) and the standard methods you can use to perform Create, Read, Update and Delete (CRUD) operations.
All object classes expose a consistent interface, so once you understand how to work with one class you can work with any other.

Tip After creating, updating or deleting objects you usually call commit() to push the pending configuration to Strata Cloud Manager and optionally track progress with get_job_status() / list_jobs().

Quick-reference table​

ObjectSDK ClassDescriptionCreateReadUpdateDeleteCommit
Addressscm.config.objects.AddressManages Address objectscreate()get(), fetch(), list()update()delete()commit()
Address Groupscm.config.objects.AddressGroupManages Address Group objectscreate()get(), fetch(), list()update()delete()commit()
Applicationscm.config.objects.ApplicationManages Application objectscreate()get(), fetch(), list()update()delete()commit()
Application Filterscm.config.objects.ApplicationFiltersManages Application Filterscreate()get(), fetch(), list()update()delete()commit()
Application Groupscm.config.objects.ApplicationGroupManages Application Group objectscreate()get(), fetch(), list()update()delete()commit()
Dynamic User Groupscm.config.objects.DynamicUserGroupManages Dynamic User Group objectscreate()get(), fetch(), list()update()delete()commit()
External Dynamic Listscm.config.objects.ExternalDynamicListsManages EDL objectscreate()get(), fetch(), list()update()delete()commit()
HIP Objectscm.config.objects.HIPObjectManages HIP objectscreate()get(), fetch(), list()update()delete()commit()
HIP Profilescm.config.objects.HIPProfileManages HIP profilescreate()get(), fetch(), list()update()delete()commit()
HTTP Server Profilescm.config.objects.HTTPServerProfileManages HTTP Server Profile objectscreate()get(), fetch(), list()update()delete()commit()
Log Forwarding Profilescm.config.objects.LogForwardingProfileManages Log Forwarding Profile objectscreate()get(), fetch(), list()update()delete()commit()
Quarantined Devicesscm.config.objects.QuarantinedDevicesManages Quarantined Device entriescreate()get() , list()update()delete()commit()
Regionscm.config.objects.RegionManages Region objectscreate()get(), fetch(), list()update()delete()commit()
Schedulescm.config.objects.ScheduleManages Schedule objectscreate()get(), fetch(), list()update()delete()commit()
Servicescm.config.objects.ServiceManages Service objectscreate()get(), fetch(), list()update()delete()commit()
Service Groupscm.config.objects.ServiceGroupManages Service Group objectscreate()get(), fetch(), list()update()delete()commit()
Syslog Server Profilescm.config.objects.SyslogServerProfileManages Syslog Server Profile objectscreate()get(), fetch(), list()update()delete()commit()
Tagscm.config.objects.TagManages Tag objectscreate()get(), fetch(), list()update()delete()commit()

Usage patterns​

Each class follows the same pattern:

from scm.config.objects import Address # replace with the class you need

# 1) Create
resp = Address.create(name="webserver", folder="Shared", ip_netmask="192.168.1.100/32")
print("Job ID", resp.job_id)
Address.commit()

# 2) Read
obj = Address.get(resp.id) # or Address.fetch(name="webserver", folder="Shared")
items = Address.list(folder="Shared") # list many

# 3) Update
Address.update(resp.id, description="Updated description")
Address.commit()

# 4) Delete
Address.delete(resp.id)
Address.commit()

Monitoring jobs​

Most write operations (create, update, delete, commit) return a job ID.
You can track progress:

status = Address.get_job_status(job_id)
all_jobs = Address.list_jobs(page_size=20)

Object details​

Below you will find a concise description of each object class and the key methods it implements.

Address​

Manages Address objects (single IP, range, wildcard or FQDN). Typical workflow:

  • create() → new address object
  • fetch()/get()/list() → read existing
  • update() → modify
  • delete() → remove
  • commit() → push pending changes

Address Group​

Handles static / dynamic groups of address objects.

Application​

Represents a custom application signature.

Application Filter​

Filters built-in App-ID signatures by criteria (category, risk, etc.).

Application Group​

Groups Applications and/or Filters together.

Dynamic User Group​

Groups users dynamically based on log queries.

External Dynamic List (EDL)​

References external lists of IPs, domains or URLs.

HIP Object & HIP Profile​

Host Information Profile components for GlobalProtect.

HTTP Server Profile​

Server profile used by log-forwarding or other features.

Log Forwarding Profile​

Defines rules to forward logs to destinations.

Quarantined Devices​

List of devices quarantined via IoT Security or other sources.

Region​

Geographical regions (standard or custom) for policy matching.

Schedule​

Time-based schedules for policies.

Service & Service Group​

L4 service definitions (TCP/UDP/other) and their groupings.

Syslog Server Profile​

Syslog destinations (address / port / format).

Tag​

Simple label objects that can be applied to other resources.


For every class above you will find corresponding create / update / list / detail models in scm.models.objects.* (e.g. AddressCreateModel, AddressModel, …).
These models provide type-safe validation when you supply parameters to the SDK methods and when results are returned.


Last generated: 2025-06-11