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