Skip to 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

Method Description Parameters Return Type
create() Creates a new destination data: Dict[str, Any], folder: str ForwardingProfileDestinationResponseModel
get() Retrieves a destination by ID object_id: Union[str, UUID] ForwardingProfileDestinationResponseModel
update() Updates an existing destination object_id: Union[str, UUID], data: Dict[str, Any] ForwardingProfileDestinationResponseModel
delete() Deletes a destination object_id: Union[str, UUID] None
list() Lists destinations with filtering folder: str, name: Optional[str], **filters List[ForwardingProfileDestinationResponseModel]
fetch() Gets a destination by name and folder name: str, folder: str ForwardingProfileDestinationResponseModel

Model Attributes

Attribute Type Required Default Description
name str Yes None Name of the destination (max 64 chars, [0-9a-zA-Z._-])
description str No None Description of the destination (max 1023 chars)
fqdn List[DestinationFqdnEntry] No None FQDN entries (wildcards and at most one trailing $ supported)
ip_addresses List[DestinationIpEntry] No None IP 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

Exception HTTP Code Description
InvalidObjectError 400 Invalid destination data or folder value
MissingQueryParameterError 400 Missing required parameters
ObjectNotPresentError 404 Destination 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"
)

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