VirtualZenNode
Virtual Zen Node resource for Zscaler Internet Access.
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. Any other action listed below is a custom action that takes explicit keyword arguments and returns a value.
Quick Start
import zssdk
import logging
# Enable debug logging for VirtualZenNode
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 VirtualZenNode
resource = session.zia.VirtualZenNode(id="your-resource-id")
resource.load()
print(resource)
# Debug output shows HTTP request/response details
Identifiers
| Name | Type | Description |
|---|---|---|
id | string | Unique identifier |
Actions
create()
Creates a new VirtualZenNode. Set properties on the resource instance, then call create() — this method takes no arguments.
Properties for creation:
| Name | Type | Required | Description |
|---|---|---|---|
cluster_name | string | No | - |
default_gateway | string | No | - |
deployment_mode | string | No | - |
establish_support_tunnel_enabled | boolean | No | - |
id | integer | No | - |
in_production | boolean | No | - |
ip_address | string | No | - |
ip_sec_enabled | boolean | No | - |
load_balancer_ip_address | string | No | - |
name | string | No | - |
on_demand_support_tunnel_enabled | boolean | No | - |
status | string | No | - |
subnet_mask | string | No | - |
type | string | No | - |
vzen_sku_type | string | No | - |
zgateway_id | integer | No | - |
Returns: VirtualZenNode
Example:
resource = session.zia.VirtualZenNode()
resource.cluster_name = "example-cluster-name"
resource.default_gateway = "value"
resource.deployment_mode = "value"
resource.create()
print(f"Created with ID: {resource.id}")
delete()
Deletes a VirtualZenNode by id. Only the id identifier is required; delete() takes no other arguments.
Example:
resource = session.zia.VirtualZenNode(id="your-resource-id")
resource.delete()
download_virtual_zen_node_certificate()
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
stream | boolean | No | Pass False to buffer the streamed response in memory and return it as bytes; defaults to True, which returns a StreamingBody for chunked reads. |
Example:
resource = session.zia.VirtualZenNode(id="your-resource-id")
result = resource.download_virtual_zen_node_certificate(stream=False)
print(result)
get_virtual_zen_node_subscription_values()
Returns: VirtualZenSubscription
Example:
resource = session.zia.VirtualZenNode()
result = resource.get_virtual_zen_node_subscription_values()
print(result)
load()
Fetches an existing VirtualZenNode by id. Only the id identifier is required; load() takes no other arguments.
Returns: VirtualZenNode
Example:
resource = session.zia.VirtualZenNode(id="your-resource-id")
resource.load()
print(resource.name)
regenerate_virtual_zen_node_certificate()
Example:
resource = session.zia.VirtualZenNode(id="your-resource-id")
result = resource.regenerate_virtual_zen_node_certificate()
print(result)
update()
Updates an existing VirtualZenNode. Call load() first, modify properties, then call update() — this method takes no arguments.
Properties for update:
| Name | Type | Required | Description |
|---|---|---|---|
cluster_name | string | No | - |
default_gateway | string | No | - |
deployment_mode | string | No | - |
establish_support_tunnel_enabled | boolean | No | - |
id | integer | Yes | - |
in_production | boolean | No | - |
ip_address | string | No | - |
ip_sec_enabled | boolean | No | - |
load_balancer_ip_address | string | No | - |
name | string | No | - |
on_demand_support_tunnel_enabled | boolean | No | - |
status | string | No | - |
subnet_mask | string | No | - |
type | string | No | - |
vzen_sku_type | string | No | - |
zgateway_id | integer | No | - |
Returns: VirtualZenNode
Example:
resource = session.zia.VirtualZenNode(id="your-resource-id")
resource.load()
resource.name = "Updated value"
resource.update()
Attributes
| Name | Type | Required | Description |
|---|---|---|---|
cluster_name | string | No | - |
default_gateway | string | No | - |
deployment_mode | string | No | - |
establish_support_tunnel_enabled | boolean | No | - |
id | integer | No | - |
in_production | boolean | No | - |
ip_address | string | No | - |
ip_sec_enabled | boolean | No | - |
load_balancer_ip_address | string | No | - |
name | string | No | - |
on_demand_support_tunnel_enabled | boolean | No | - |
status | string | No | - |
subnet_mask | string | No | - |
type | string | No | - |
vzen_sku_type | string | No | - |
zgateway_id | integer | No | - |
Related
- VirtualZenNode - Data structure definition
- Logging guide - enable verbose logs while debugging this resource