Skip to content

GlobalProtect Forwarding Profile Regional and Custom Proxies Configuration Object

Manages GlobalProtect forwarding profile regional and custom proxies in Palo Alto Networks Strata Cloud Manager. Regional and custom proxies define proxy servers, connectivity preferences, and Prisma Access locations referenced by forwarding profiles.

Class Overview

The ForwardingProfileRegionalAndCustomProxies class inherits from BaseObject and provides CRUD operations for GlobalProtect forwarding profile regional and custom proxy objects.

Methods

Method Description Parameters Return Type
create() Creates a new proxy data: Dict[str, Any], folder: str ForwardingProfileRegionalAndCustomProxyResponseModel
get() Retrieves a proxy by ID object_id: Union[str, UUID] ForwardingProfileRegionalAndCustomProxyResponseModel
update() Updates an existing proxy regional_and_custom_proxy: ForwardingProfileRegionalAndCustomProxyUpdateModel ForwardingProfileRegionalAndCustomProxyResponseModel
delete() Deletes a proxy object_id: Union[str, UUID] None
list() Lists proxies folder: str, name: Optional[str] List[ForwardingProfileRegionalAndCustomProxyResponseModel]
fetch() Gets a proxy by name name: str, folder: str ForwardingProfileRegionalAndCustomProxyResponseModel

Model Attributes

Attribute Type Required Default Description
name str Yes None Name of the proxy (max 64 chars)
type RegionalProxyType No gp-and-pac Proxy type (gp-and-pac or ztna-agent)
description str No None Description of the proxy (max 1023)
proxy_1 RegionalProxyServer No None Primary proxy server (fqdn, port, location)
proxy_2 RegionalProxyServer No None Secondary proxy server (fqdn, port, location)
connectivity_preference List[RegionalProxyConnectivityPreference] No None Connectivity preferences (tunnel/proxy/adns/masque)
fallback_option RegionalProxyFallbackOption No None fail-open or fail-safe
location_preference RegionalProxyLocationPreference No None best-available-pa-location or specific-pa-location
prisma_access_locations List[RegionalProxyPrismaAccessLocation] No None Prisma Access locations per region
id UUID Yes* None UUID of the proxy

* Present in update and response models only. The folder ("Mobile Users") is passed as a query parameter on create() and list(), not as a model field.

Exceptions

Exception HTTP Code Description
InvalidObjectError 400 Invalid data, folder, or response
MissingQueryParameterError 400 Missing required parameters
ObjectNotPresentError 404 Regional and custom proxy not found
AuthenticationError 401 Authentication failed
ServerError 500 Internal server error

Basic Configuration

from scm.client import Scm

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

proxies = client.forwarding_profile_regional_and_custom_proxy

Methods

List Regional and Custom Proxies

all_proxies = client.forwarding_profile_regional_and_custom_proxy.list()

for proxy in all_proxies:
    print(f"Name: {proxy.name}, Type: {proxy.type}")

Fetch a Regional and Custom Proxy

proxy = client.forwarding_profile_regional_and_custom_proxy.fetch(
    name="emea-proxy",
    folder="Mobile Users",
)
print(f"Found proxy: {proxy.name}")

Create a Regional and Custom Proxy

proxy_config = {
    "name": "emea-proxy",
    "type": "gp-and-pac",
    "description": "EMEA regional proxy",
    "proxy_1": {
        "fqdn": "proxy1.example.com",
        "port": 8080,
        "location": "Frankfurt",
    },
    "connectivity_preference": [
        {"name": "tunnel", "enabled": True},
        {"name": "proxy", "enabled": True},
    ],
    "fallback_option": "fail-open",
    "location_preference": "specific-pa-location",
    "prisma_access_locations": [
        {"name": "europe", "locations": ["frankfurt", "paris"]},
    ],
}
new_proxy = client.forwarding_profile_regional_and_custom_proxy.create(proxy_config)
print(f"Created proxy with ID: {new_proxy.id}")

Update a Regional and Custom Proxy

from scm.models.mobile_agent import ForwardingProfileRegionalAndCustomProxyUpdateModel

existing = client.forwarding_profile_regional_and_custom_proxy.fetch(name="emea-proxy")

update_model = ForwardingProfileRegionalAndCustomProxyUpdateModel(
    id=existing.id,
    name=existing.name,
    fallback_option="fail-safe",
)
updated = client.forwarding_profile_regional_and_custom_proxy.update(update_model)

Delete a Regional and Custom Proxy

client.forwarding_profile_regional_and_custom_proxy.delete(
    "123e4567-e89b-12d3-a456-426655440000"
)