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