Skip to main content

GlobalProtect Forwarding Profile Destinations Configuration Object

Manages GlobalProtect destinations (FQDN and IP address groups) referenced by forwarding profile rules in Palo Alto Networks Strata Cloud Manager.

Class Overview

The ForwardingProfileDestinations class inherits from BaseObject and provides CRUD operations for GlobalProtect destination objects. Destinations are UUID-addressed resources under the Mobile Users folder.

Methods

MethodDescriptionParametersReturn Type
create()Creates a new destinationdata: Dict[str, Any], folder: strForwardingProfileDestinationResponseModel
get()Retrieves a destination by IDobject_id: Union[str, UUID]ForwardingProfileDestinationResponseModel
update()Updates an existing destinationobject_id: Union[str, UUID], data: Dict[str, Any]ForwardingProfileDestinationResponseModel
delete()Deletes a destinationobject_id: Union[str, UUID]None
list()Lists destinations with filteringfolder: str, name: Optional[str], **filtersList[ForwardingProfileDestinationResponseModel]
fetch()Gets a destination by name and foldername: str, folder: strForwardingProfileDestinationResponseModel

Model Attributes

AttributeTypeRequiredDefaultDescription
namestrYesNoneName of the destination (max 64 chars, [0-9a-zA-Z._-])
descriptionstrNoNoneDescription of the destination (max 1023 chars)
fqdnList[DestinationFqdnEntry]NoNoneFQDN entries (wildcards and at most one trailing $ supported)
ip_addressesList[DestinationIpEntry]NoNoneIP address entries (wildcards and CIDR notation supported)

Each FQDN or IP entry has a required name and an optional port (1-65535).

note

The folder is sent as a query parameter (only "Mobile Users" is valid), not in the request body. create() accepts folder either as a keyword argument or as a key in data.

Exceptions

ExceptionHTTP CodeDescription
InvalidObjectError400Invalid destination data or folder value
MissingQueryParameterError400Missing required parameters
ObjectNotPresentError404Destination not found
AuthenticationError401Authentication failed
ServerError500Internal 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"
)

destinations = client.forwarding_profile_destination

Methods

List Destinations

destinations = client.forwarding_profile_destination.list()

for destination in destinations:
print(f"Name: {destination.name}, ID: {destination.id}")

Controlling pagination with max_limit:

client.forwarding_profile_destination.max_limit = 1000

destinations = client.forwarding_profile_destination.list()

Fetch a Destination

destination = client.forwarding_profile_destination.fetch(
name="internal-destinations", folder="Mobile Users"
)
print(f"Found destination: {destination.name} ({destination.id})")

Create a Destination

destination_config = {
"name": "internal-destinations",
"description": "Internal corporate destinations",
"fqdn": [
{"name": "*.example.com"},
{"name": "intranet.example.com", "port": 8443},
],
"ip_addresses": [
{"name": "10.0.0.0/8"},
{"name": "192.168.1.*", "port": 443},
],
}
new_destination = client.forwarding_profile_destination.create(destination_config)

Get a Destination

destination = client.forwarding_profile_destination.get(
"123e4567-e89b-12d3-a456-426655440000"
)
print(f"Destination: {destination.name}")

Update a Destination

updated = client.forwarding_profile_destination.update(
"123e4567-e89b-12d3-a456-426655440000",
{
"name": "internal-destinations",
"fqdn": [{"name": "*.corp.example.com"}],
},
)
print(f"Updated destination: {updated.name}")

Delete a Destination

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