Skip to main content

DnatRule

Dnat Rule resource for Zscaler Internet Access.

Resource operations

This resource supports the following standard methods: create(), load(), update(), delete(). They operate on the instance state — set properties with dot notation, then call the method with no arguments.

Quick Start​

import zssdk
import logging

# Enable debug logging for DnatRule
logging.getLogger('zssdk.zia').setLevel(logging.DEBUG)
logging.basicConfig(level=logging.DEBUG)

session = zssdk.Session(
vanity_domain="your-vanity-domain",
client_id="your-client-id",
client_secret="your-client-secret",
)

# Get a specific DnatRule
resource = session.zia.DnatRule(id="your-resource-id")
resource.load()
print(resource)

# Debug output shows HTTP request/response details

Identifiers​

NameTypeDescription
idstringUnique identifier

Actions​

create()​

Creates a new DnatRule. Set properties on the resource instance, then call create() — this method takes no arguments.

Properties for creation:

NameTypeRequiredDescription
access_controlstringNo-
actionstringNo-
block_response_codestringNo-
default_rulebooleanNo-
departmentsEntityReferenceWrapperCollectionNo-
descriptionstringNo-
dest_addressesstringCollectionNo-
dest_countriesDestCountriesEnumCollectionNo-
dest_ip_categoriesFirewallUrlCategoryWrapperCollectionNo-
dest_ip_groupsEntityReferenceWrapperCollectionNo-
dest_ipv6_groupsEntityReferenceWrapperCollectionNo-
device_groupsEntityReferenceWrapperCollectionNo-
devicesEntityReferenceWrapperCollectionNo-
dns_gatewayEntityReferenceNo-
enable_full_loggingbooleanNo-
end_point_application_groupsEndPointApplicationGroupWrapperCollectionNo-
end_point_application_threat_levelsThreatLevelEnumCollectionNo-
end_point_applicationsEndPointApplicationLiteWrapperCollectionNo-
exclude_context_shield_end_pointbooleanNo-
groupsEntityReferenceWrapperCollectionNo-
idintegerNo-
labelsEntityReferenceWrapperCollectionNo-
last_modified_byEntityReferenceNo-
last_modified_timeintegerNo-
location_groupsEntityReferenceWrapperCollectionNo-
locationsEntityReferenceWrapperCollectionNo-
namestringYes-
nw_service_groupsEntityReferenceWrapperCollectionNo-
nw_servicesEntityReferenceWrapperCollectionNo-
orderintegerNo-
predefinedbooleanNo-
rankintegerYes-
redirect_fqdnstringNo-
redirect_ipstringNo-
redirect_portintegerNo-
res_categoriesFirewallUrlCategoryWrapperCollectionNo-
res_groupsEntityReferenceWrapperCollectionNo-
source_countriesDestCountriesEnumCollectionNo-
src_ip_groupsEntityReferenceWrapperCollectionNo-
src_ipsstringCollectionNo-
src_ipv6_groupsEntityReferenceWrapperCollectionNo-
statestringNo-
template_synced_rule_flagstringNo-
time_windowsEntityReferenceWrapperCollectionNo-
trusted_resolver_rulebooleanNo-
usersEntityReferenceWrapperCollectionNo-

Returns: DnatRule

Example:

resource = session.zia.DnatRule()
resource.name = "example-name"
resource.rank = 3600
resource.create()
print(f"Created with ID: {resource.id}")

delete()​

Deletes a DnatRule by id. Only the id identifier is required; delete() takes no other arguments.

Example:

resource = session.zia.DnatRule(id="your-resource-id")
resource.delete()

load()​

Fetches an existing DnatRule by id. Only the id identifier is required; load() takes no other arguments.

Returns: DnatRule

Example:

resource = session.zia.DnatRule(id="your-resource-id")
resource.load()
print(resource.name)

update()​

Updates an existing DnatRule. Call load() first, modify properties, then call update() — this method takes no arguments.

Properties for update:

NameTypeRequiredDescription
access_controlstringNo-
actionstringNo-
block_response_codestringNo-
default_rulebooleanNo-
departmentsEntityReferenceWrapperCollectionNo-
descriptionstringNo-
dest_addressesstringCollectionNo-
dest_countriesDestCountriesEnumCollectionNo-
dest_ip_categoriesFirewallUrlCategoryWrapperCollectionNo-
dest_ip_groupsEntityReferenceWrapperCollectionNo-
dest_ipv6_groupsEntityReferenceWrapperCollectionNo-
device_groupsEntityReferenceWrapperCollectionNo-
devicesEntityReferenceWrapperCollectionNo-
dns_gatewayEntityReferenceNo-
enable_full_loggingbooleanNo-
end_point_application_groupsEndPointApplicationGroupWrapperCollectionNo-
end_point_application_threat_levelsThreatLevelEnumCollectionNo-
end_point_applicationsEndPointApplicationLiteWrapperCollectionNo-
exclude_context_shield_end_pointbooleanNo-
groupsEntityReferenceWrapperCollectionNo-
idintegerNo-
labelsEntityReferenceWrapperCollectionNo-
last_modified_byEntityReferenceNo-
last_modified_timeintegerNo-
location_groupsEntityReferenceWrapperCollectionNo-
locationsEntityReferenceWrapperCollectionNo-
namestringYes-
nw_service_groupsEntityReferenceWrapperCollectionNo-
nw_servicesEntityReferenceWrapperCollectionNo-
orderintegerNo-
predefinedbooleanNo-
rankintegerYes-
redirect_fqdnstringNo-
redirect_ipstringNo-
redirect_portintegerNo-
res_categoriesFirewallUrlCategoryWrapperCollectionNo-
res_groupsEntityReferenceWrapperCollectionNo-
source_countriesDestCountriesEnumCollectionNo-
src_ip_groupsEntityReferenceWrapperCollectionNo-
src_ipsstringCollectionNo-
src_ipv6_groupsEntityReferenceWrapperCollectionNo-
statestringNo-
template_synced_rule_flagstringNo-
time_windowsEntityReferenceWrapperCollectionNo-
trusted_resolver_rulebooleanNo-
usersEntityReferenceWrapperCollectionNo-

Returns: DnatRule

Example:

resource = session.zia.DnatRule(id="your-resource-id")
resource.load()
resource.name = "Updated value"
resource.update()

Attributes​

NameTypeRequiredDescription
access_controlstringNo-
actionstringNo-
block_response_codestringNo-
default_rulebooleanNo-
departmentsEntityReferenceWrapperCollectionNo-
descriptionstringNo-
dest_addressesstringCollectionNo-
dest_countriesDestCountriesEnumCollectionNo-
dest_ip_categoriesFirewallUrlCategoryWrapperCollectionNo-
dest_ip_groupsEntityReferenceWrapperCollectionNo-
dest_ipv6_groupsEntityReferenceWrapperCollectionNo-
device_groupsEntityReferenceWrapperCollectionNo-
devicesEntityReferenceWrapperCollectionNo-
dns_gatewayEntityReferenceNo-
enable_full_loggingbooleanNo-
end_point_application_groupsEndPointApplicationGroupWrapperCollectionNo-
end_point_application_threat_levelsThreatLevelEnumCollectionNo-
end_point_applicationsEndPointApplicationLiteWrapperCollectionNo-
exclude_context_shield_end_pointbooleanNo-
groupsEntityReferenceWrapperCollectionNo-
idintegerNo-
labelsEntityReferenceWrapperCollectionNo-
last_modified_byEntityReferenceNo-
last_modified_timeintegerNo-
location_groupsEntityReferenceWrapperCollectionNo-
locationsEntityReferenceWrapperCollectionNo-
namestringYes-
nw_service_groupsEntityReferenceWrapperCollectionNo-
nw_servicesEntityReferenceWrapperCollectionNo-
orderintegerNo-
predefinedbooleanNo-
rankintegerYes-
redirect_fqdnstringNo-
redirect_ipstringNo-
redirect_portintegerNo-
res_categoriesFirewallUrlCategoryWrapperCollectionNo-
res_groupsEntityReferenceWrapperCollectionNo-
source_countriesDestCountriesEnumCollectionNo-
src_ip_groupsEntityReferenceWrapperCollectionNo-
src_ipsstringCollectionNo-
src_ipv6_groupsEntityReferenceWrapperCollectionNo-
statestringNo-
template_synced_rule_flagstringNo-
time_windowsEntityReferenceWrapperCollectionNo-
trusted_resolver_rulebooleanNo-
usersEntityReferenceWrapperCollectionNo-