technitium 0.4.0

Typed async Rust client for the Technitium DNS Server API
Documentation
# Zone Options Get

## Endpoint
`/api/zones/options/get`

## Method
GET

## Description
Gets the zone specific options.

## Authentication
Token required.

## Parameters

| Name | Type | Required | Conditional | Description |
|------|------|----------|-------------|-------------|
| `token` | string | Yes | - | Session token from `login` or `createToken`. |
| `node` | string | No | - | Node domain name for clustering. When unspecified, the current node is used. Only usable when Clustering is initialized. |
| `zone` | string | Yes | - | Domain name of the zone to get options for. |
| `includeAvailableCatalogZoneNames` | boolean | No | - | Set to `true` to include list of available Catalog zone names on the DNS server in the response. |
| `includeAvailableTsigKeyNames` | boolean | No | - | Set to `true` to include list of available TSIG key names on the DNS server in the response. |

## Response Fields

| Field | Type | Description |
|-------|------|-------------|
| `response.name` | string | Zone domain name. |
| `response.type` | string | Zone type (e.g., `Primary`, `Secondary`). |
| `response.internal` | boolean | Whether the zone is internal. |
| `response.dnssecStatus` | string | DNSSEC status (e.g., `Unsigned`, `SignedWithNSEC`). |
| `response.notifyFailed` | boolean | Whether notify has failed. |
| `response.notifyFailedFor` | array of strings | IP addresses for which notify failed. |
| `response.disabled` | boolean | Whether the zone is disabled. |
| `response.catalog` | string | Name of the catalog zone this zone is a member of. |
| `response.overrideCatalogQueryAccess` | boolean | Whether Query Access from the Catalog zone is overridden. |
| `response.overrideCatalogZoneTransfer` | boolean | Whether Zone Transfer from the Catalog zone is overridden. |
| `response.overrideCatalogNotify` | boolean | Whether Notify from the Catalog zone is overridden. |
| `response.queryAccess` | string | Query access setting. |
| `response.queryAccessNetworkACL` | array | Network ACL for query access. |
| `response.zoneTransfer` | string | Zone transfer setting. |
| `response.zoneTransferNetworkACL` | array | Network ACL for zone transfer. |
| `response.zoneTransferTsigKeyNames` | array of strings | TSIG key names authorized for zone transfer. |
| `response.notify` | string | Notify setting. |
| `response.notifyNameServers` | array | IP addresses to notify. |
| `response.update` | string | Dynamic update setting. |
| `response.updateNetworkACL` | array of strings | Network ACL for dynamic updates. |
| `response.updateSecurityPolicies` | array | TSIG-based security policies for dynamic updates. |
| `response.updateSecurityPolicies[].tsigKeyName` | string | TSIG key name for the policy. |
| `response.updateSecurityPolicies[].domain` | string | Domain name the policy applies to. |
| `response.updateSecurityPolicies[].allowedTypes` | array of strings | Allowed record types (e.g., `A`, `AAAA`, `ANY`). |
| `response.availableCatalogZoneNames` | array of strings | Available catalog zone names (only when `includeAvailableCatalogZoneNames=true`). |
| `response.availableTsigKeyNames` | array of strings | Available TSIG key names (only when `includeAvailableTsigKeyNames=true`). |

## Conditional Logic Notes
- Response fields vary by zone type. Not all fields will be present for all zone types.
- `availableCatalogZoneNames` is only included when `includeAvailableCatalogZoneNames=true`.
- `availableTsigKeyNames` is only included when `includeAvailableTsigKeyNames=true`.
- Requires Zones-level Modify permission and Zone-level View permission.

## Edge Cases
- The response structure varies significantly depending on the zone type. Fields like `notifyFailed`, `catalog`, `update`, etc. may be absent for zone types where they don't apply.

## Obsolete Paths
- `/api/zone/options`