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¶
| Method | Description | Parameters | Return Type |
|---|---|---|---|
create() |
Creates a new source application | data: Dict[str, Any], folder: str |
ForwardingProfileSourceApplicationResponseModel |
get() |
Retrieves a source application by ID | object_id: Union[str, UUID] |
ForwardingProfileSourceApplicationResponseModel |
update() |
Updates an existing source application | source_application: ForwardingProfileSourceApplicationUpdateModel |
ForwardingProfileSourceApplicationResponseModel |
delete() |
Deletes a source application | object_id: Union[str, UUID] |
None |
list() |
Lists source applications | folder: str, name: Optional[str] |
List[ForwardingProfileSourceApplicationResponseModel] |
fetch() |
Gets a source application by name | name: str, folder: str |
ForwardingProfileSourceApplicationResponseModel |
Model Attributes¶
| Attribute | Type | Required | Default | Description |
|---|---|---|---|---|
name |
str | Yes | None | Name of the source application (max 64 chars) |
applications |
List[str] | Yes | None | List of applications |
description |
str | No | None | Description of the source application (max 1023) |
id |
UUID | Yes* | None | UUID 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¶
| Exception | HTTP Code | Description |
|---|---|---|
InvalidObjectError |
400 | Invalid data, folder, or response |
MissingQueryParameterError |
400 | Missing required parameters |
ObjectNotPresentError |
404 | Source application 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"
)
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)