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}")