Skip to main content

Zscaler Private Access V2 SDK

ZPA configuration and policies

Quick Start​

import zssdk
from zssdk.zscore.config import Config

config = Config(api_version="v2")

session = zssdk.Session(
config=config,
vanity_domain="your-vanity-domain",
client_id="your-client-id",
client_secret="your-client-secret",
)

# Access Zscaler Private Access V2 service
zpa = session.zpa

Available Resources​

Access individual resources using the has pattern:

ResourceDescription
CustomerDomainCustomer Domain resource
C2cIpRangesC2c Ip Ranges resource
LssResourceLss Resource resource
EmptyModelEmpty Model resource
PolicyRuleResourcePolicy Rule Resource resource
SegmentGroupUpdateSegment Group Update resource
SSOLoginResourceS S O Login Resource resource
UserPortalLinkBulkUser Portal Link Bulk resource

Collections​

List resources using the hasMany pattern:

CollectionResource Type
all_issued_certificatesCertificate
all_issued_certsCertificate
all_enrollment_certsEnrollmentCert
all_idpsIdp
c2c_ip_rangesC2cIpRanges
lss_resourcesLssResource
all_trusted_networksTrustedNetwork
all_attributesPostureProfile
all_attributes_by_pagesSamlAttribute
all_attributes_by_idp_id_and_pagesSamlAttribute

Example: CRUD Operations​

import zssdk
from zssdk.zscore.config import Config

config = Config(api_version="v2")

session = zssdk.Session(
config=config,
vanity_domain="your-vanity-domain",
client_id="your-client-id",
client_secret="your-client-secret",
)

# Create
resource = session.zpa.CustomerDomain()
resource.name = "value"
resource.create()

# Read
resource = session.zpa.CustomerDomain(id=resource.id)
resource.load()
print(resource.name)

# Update
resource.name = "Updated value"
resource.update()

# Delete
resource.delete()

Example: List Resources​

# List all resources
for item in session.zpa.all_issued_certificates():
print(f"{item.id}: {item.name}")