Skip to main content

GlobalProtect Forwarding Profile Regional and Custom Proxy Models

Overview​

The Forwarding Profile Regional and Custom Proxy models provide a structured way to manage proxy servers, connectivity preferences, and Prisma Access locations for GlobalProtect forwarding profiles in Palo Alto Networks' Strata Cloud Manager. The models handle validation of inputs and outputs when interacting with the SCM API.

Models​

The module provides the following Pydantic models:

  • ForwardingProfileRegionalAndCustomProxyBaseModel: Base model with fields common to all operations
  • ForwardingProfileRegionalAndCustomProxyCreateModel: Model for creating new proxies
  • ForwardingProfileRegionalAndCustomProxyUpdateModel: Model for updating existing proxies (adds id)
  • ForwardingProfileRegionalAndCustomProxyResponseModel: Response model for proxy operations (adds id)
  • RegionalProxyServer: A proxy server definition (fqdn, port, location)
  • RegionalProxyConnectivityPreference: A connectivity preference entry (name, enabled)
  • RegionalProxyPrismaAccessLocation: A Prisma Access location entry (name, locations)
  • RegionalProxyType: Enum for proxy types
  • RegionalProxyConnectivityName: Enum for connectivity preference names
  • RegionalProxyFallbackOption: Enum for fallback options
  • RegionalProxyLocationPreference: Enum for location preferences

Request models use extra="forbid" configuration, which rejects any fields not explicitly defined in the model. The response model uses extra="ignore" for forward compatibility.

Attributes​

AttributeTypeRequiredDefaultDescription
namestrYesNoneName of the proxy. Max length: 64 chars. Pattern: ^[0-9a-zA-Z._-]+$
typeRegionalProxyTypeNogp-and-pacProxy type
descriptionstrNoNoneDescription of the proxy. Max length: 1023 chars
proxy_1RegionalProxyServerNoNonePrimary proxy server
proxy_2RegionalProxyServerNoNoneSecondary proxy server
connectivity_preferenceList[RegionalProxyConnectivityPreference]NoNoneConnectivity preference entries
fallback_optionRegionalProxyFallbackOptionNoNoneFallback option
location_preferenceRegionalProxyLocationPreferenceNoNoneLocation preference
prisma_access_locationsList[RegionalProxyPrismaAccessLocation]NoNonePrisma Access locations (Americas, Europe, and Asia-Pacific)
idUUIDYes*NoneUUID of the proxy

* Present in UpdateModel and ResponseModel only

RegionalProxyServer​

AttributeTypeRequiredDescription
fqdnstrNoFully qualified domain name. Max length: 255 chars
portintNoProxy port (1-65535)
locationstrNoProxy location

RegionalProxyConnectivityPreference​

AttributeTypeRequiredDescription
nameRegionalProxyConnectivityNameYesConnectivity preference name
enabledboolNoWhether the preference is enabled

RegionalProxyPrismaAccessLocation​

AttributeTypeRequiredDescription
namestrYesRegion name (one of 'americas', 'europe', 'apac')
locationsList[str]NoList of locations in that region

Enumerations​

RegionalProxyType​

ValueDescription
GP_AND_PACGlobalProtect and PAC file proxy
ZTNA_AGENTZTNA agent proxy

RegionalProxyConnectivityName​

ValueDescription
TUNNELTunnel
PROXYProxy
ADNSADNS
MASQUEMASQUE

RegionalProxyFallbackOption​

ValueDescription
FAIL_OPENFail open
FAIL_SAFEFail safe

RegionalProxyLocationPreference​

ValueDescription
BEST_AVAILABLEBest available Prisma Access location
SPECIFICSpecific Prisma Access location

Usage Example​

from scm.client import Scm
from scm.models.mobile_agent import (
ForwardingProfileRegionalAndCustomProxyCreateModel,
)

client = Scm(
client_id="your_client_id",
client_secret="your_client_secret",
tsg_id="your_tsg_id"
)

# Create a regional and custom proxy using a model
proxy = ForwardingProfileRegionalAndCustomProxyCreateModel(
name="emea-proxy",
type="gp-and-pac",
proxy_1={"fqdn": "proxy1.example.com", "port": 8080, "location": "Frankfurt"},
fallback_option="fail-open",
)

# Convert the model to a dictionary for the API call
payload = proxy.model_dump(exclude_unset=True)
result = client.forwarding_profile_regional_and_custom_proxy.create(payload)
print(f"Created proxy: {result.id}")