Skip to main content

GlobalProtect Forwarding Profile Source Applications Configuration Object

Manages GlobalProtect forwarding profile source applications in Palo Alto Networks Strata Cloud Manager. Source applications define lists of applications that can be referenced by forwarding profiles.

Class Overview

The ForwardingProfileSourceApplications class inherits from BaseObject and provides CRUD operations for GlobalProtect forwarding profile source application objects.

Methods

MethodDescriptionParametersReturn Type
create()Creates a new source applicationdata: Dict[str, Any], folder: strForwardingProfileSourceApplicationResponseModel
get()Retrieves a source application by IDobject_id: Union[str, UUID]ForwardingProfileSourceApplicationResponseModel
update()Updates an existing source applicationsource_application: ForwardingProfileSourceApplicationUpdateModelForwardingProfileSourceApplicationResponseModel
delete()Deletes a source applicationobject_id: Union[str, UUID]None
list()Lists source applicationsfolder: str, name: Optional[str]List[ForwardingProfileSourceApplicationResponseModel]
fetch()Gets a source application by namename: str, folder: strForwardingProfileSourceApplicationResponseModel

Model Attributes

AttributeTypeRequiredDefaultDescription
namestrYesNoneName of the source application (max 64 chars)
applicationsList[str]YesNoneList of applications
descriptionstrNoNoneDescription of the source application (max 1023)
idUUIDYes*NoneUUID of the source application

* 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

ExceptionHTTP CodeDescription
InvalidObjectError400Invalid data, folder, or response
MissingQueryParameterError400Missing required parameters
ObjectNotPresentError404Source application 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"
)

source_applications = client.forwarding_profile_source_application

Methods

List Source Applications

all_apps = client.forwarding_profile_source_application.list()

for app in all_apps:
print(f"Name: {app.name}, Applications: {app.applications}")

Controlling pagination with max_limit:

client.forwarding_profile_source_application.max_limit = 1000

all_apps = client.forwarding_profile_source_application.list()

Fetch a Source Application

app = client.forwarding_profile_source_application.fetch(
name="saas-apps",
folder="Mobile Users",
)
print(f"Found source application: {app.name}")

Create a Source Application

app_config = {
"name": "saas-apps",
"description": "SaaS applications forwarded via proxy",
"applications": ["office365-enterprise-access", "slack", "zoom"],
}
new_app = client.forwarding_profile_source_application.create(app_config)
print(f"Created source application with ID: {new_app.id}")

Update a Source Application

from scm.models.mobile_agent import ForwardingProfileSourceApplicationUpdateModel

existing = client.forwarding_profile_source_application.fetch(name="saas-apps")

update_model = ForwardingProfileSourceApplicationUpdateModel(
id=existing.id,
name=existing.name,
applications=existing.applications + ["github"],
)
updated = client.forwarding_profile_source_application.update(update_model)

Delete a Source Application

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