{"resources":{"hetzner":{"id":"hetzner","name":"hetzner","fields":{"certificate":{"name":"certificate","type":"\u001bhetzner.certificate","title":"Hetzner Cloud TLS certificate","desc":"A TLS certificate stored in a Hetzner Cloud project, either uploaded by you or issued and renewed automatically by Hetzner as a managed certificate. Select one by its numeric id, for example `hetzner.certificate(id: 12345)`. Fields parsed from the certificate body (keyAlgorithm, keyBits, signatureAlgorithm, notValidAfter, selfSigned, isCa) support auditing key strength, expiry, and trust, while servers and loadBalancers reveal which resources terminate TLS with it.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"certificates":{"name":"certificates","type":"\u0019\u001bhetzner.certificate","title":"TLS certificates","provider":"go.mondoo.com/mql/providers/hetzner"},"datacenter":{"name":"datacenter","type":"\u001bhetzner.datacenter","title":"Hetzner Cloud datacenter","desc":"A single datacenter within a Hetzner location, identified by a slug such as fsn1-dc14. Select one by its numeric id, for example hetzner.datacenter(id: 4). Reports the location it belongs to, the server types it supports, which of those are currently available for new servers, and which are open for migration, so you can plan placement and capacity. The servers field lists the servers running in this datacenter.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"datacenters":{"name":"datacenters","type":"\u0019\u001bhetzner.datacenter","title":"Datacenters within locations","provider":"go.mondoo.com/mql/providers/hetzner"},"firewall":{"name":"firewall","type":"\u001bhetzner.firewall","title":"Hetzner Cloud firewall","desc":"A stateful, project-level firewall rule set applied to servers directly or by label selector. Surfaces the firewall `rules` (each with direction, protocol, port, and the `sourceIps`/`destinationIps` CIDRs), the `servers()` the firewall is directly applied to, the `labelSelectors` it targets, applied `labels`, and the creation timestamp. Select a firewall by id with `hetzner.firewall(id: 123)`.","provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"firewalls":{"name":"firewalls","type":"\u0019\u001bhetzner.firewall","title":"Firewalls","provider":"go.mondoo.com/mql/providers/hetzner"},"floatingIp":{"name":"floatingIp","type":"\u001bhetzner.floatingIp","title":"Hetzner Cloud floating IP","desc":"A floating IPv4 or IPv6 address that can be reassigned between servers, making it the building block for failover and high-availability setups. Select one by its numeric identifier, for example `hetzner.floatingIp(id: 12345)`. The `server` reference resolves the server the IP is currently routed to (null when unassigned), `blocked` flags an address the provider has administratively suspended, and `dnsPtr` exposes the reverse DNS records configured for it.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"floatingIps":{"name":"floatingIps","type":"\u0019\u001bhetzner.floatingIp","title":"Floating IPs","provider":"go.mondoo.com/mql/providers/hetzner"},"image":{"name":"image","type":"\u001bhetzner.image","title":"Hetzner Cloud image (system image, snapshot, backup, or app)","desc":"A bootable disk image usable when creating servers: a Hetzner-provided system image, a user-created snapshot, an automated backup, or an app image. The `type` field distinguishes these categories. Select an image by its numeric id, for example `hetzner.image(id: 12345)`. Useful for auditing which images exist, their OS and architecture, deletion protection, and whether an image is deprecated or bound to a server.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"images":{"name":"images","type":"\u0019\u001bhetzner.image","title":"OS images and snapshots","provider":"go.mondoo.com/mql/providers/hetzner"},"iso":{"name":"iso","type":"\u001bhetzner.iso","title":"Hetzner Cloud ISO image","desc":"Bootable ISO image that can be attached to a server for installation or recovery, covering both Hetzner-provided public images and images uploaded to the project. The `type` field distinguishes public from private ISOs, and `deprecation` flags images scheduled for removal so audits can catch servers relying on soon-to-be-unavailable media. Select a single image by its ID, for example `hetzner.iso(id: 12345)`.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"isos":{"name":"isos","type":"\u0019\u001bhetzner.iso","title":"ISOs available for boot","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancer":{"name":"loadBalancer","type":"\u001bhetzner.loadBalancer","title":"Hetzner Cloud load balancer","desc":"Managed L4/L7 load balancer that distributes incoming traffic across backend servers and IP targets. The public network configuration and the forwarding services it exposes govern its internet reachability and TLS termination, making it a central resource for auditing exposure, health checking, and PROXY protocol use. The routing algorithm is one of round_robin or least_connections. Select a load balancer by id with `hetzner.loadBalancer(id: 123)`.","provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"loadBalancerType":{"name":"loadBalancerType","type":"\u001bhetzner.loadBalancerType","title":"Hetzner Cloud load balancer type","desc":"A load balancer size class such as lb11, lb21, or lb31, defining the capacity limits a load balancer of that class is subject to: the maximum concurrent connections, services, targets, and assigned TLS certificates. Use it to confirm a load balancer is provisioned on a class that fits its expected traffic, or to spot classes that are scheduled for retirement through the `deprecated` timestamp. Select a type by id with `hetzner.loadBalancerType(id: 1)`.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"loadBalancerTypes":{"name":"loadBalancerTypes","type":"\u0019\u001bhetzner.loadBalancerType","title":"Load balancer types","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancers":{"name":"loadBalancers","type":"\u0019\u001bhetzner.loadBalancer","title":"Load balancers","provider":"go.mondoo.com/mql/providers/hetzner"},"location":{"name":"location","type":"\u001bhetzner.location","title":"Hetzner Cloud location","desc":"A geographic location (region) where Hetzner Cloud resources can run, such as `fsn1` (Falkenstein), `nbg1` (Nuremberg), `hel1` (Helsinki), `ash` (Ashburn), or `hil` (Hillsboro). Select a location by its numeric `id`, for example `hetzner.location(id: 1)`. Beyond the human-readable `city`, `country`, and geographic coordinates, the `networkZone` groups locations that can share private networks (eu-central, us-east, us-west), which matters when planning cross-region connectivity and data residency. The `servers` field lists the server instances running in this location.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"locations":{"name":"locations","type":"\u0019\u001bhetzner.location","title":"Locations (Hetzner regions)","provider":"go.mondoo.com/mql/providers/hetzner"},"network":{"name":"network","type":"\u001bhetzner.network","title":"Hetzner Cloud network (VPC)","desc":"Private network spanning one or more subnets that Hetzner Cloud servers and load balancers attach to for internal traffic. Select a network by its numeric id, for example hetzner.network(id: 4711). The ipRange field holds the overall CIDR, subnets carves it into per-zone ranges, and routes lists static next-hop entries. Inspect servers and loadBalancers to see what is attached, and exposeRoutesToVswitch to check whether the network's routes are advertised to a connected vSwitch.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"networks":{"name":"networks","type":"\u0019\u001bhetzner.network","title":"Networks (VPCs)","provider":"go.mondoo.com/mql/providers/hetzner"},"placementGroup":{"name":"placementGroup","type":"\u001bhetzner.placementGroup","title":"Hetzner Cloud placement group","desc":"Group of Cloud Servers scheduled onto distinct physical hosts so that a single hardware failure cannot take down every member at once. Query by numeric id, for example `hetzner.placementGroup(id: 12345)`, to review which servers share a group and confirm that fault-tolerant workloads are spread across hardware. The `type` field reports the placement strategy (currently only spread) and `servers` lists the group members.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"placementGroups":{"name":"placementGroups","type":"\u0019\u001bhetzner.placementGroup","title":"Placement groups","provider":"go.mondoo.com/mql/providers/hetzner"},"primaryIp":{"name":"primaryIp","type":"\u001bhetzner.primaryIp","title":"Hetzner Cloud primary IP","desc":"A standalone IPv4 or IPv6 address that a server holds independently of its lifecycle, so the address survives when the server is deleted or replaced. Reports the address and `type`, whether it is currently `blocked`, the `autoDelete` behavior that removes it alongside its assignee, the reverse DNS records, delete protection, and the server it is assigned to. Select a primary IP by its numeric id, for example `hetzner.primaryIp(id: 12345)`.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"primaryIps":{"name":"primaryIps","type":"\u0019\u001bhetzner.primaryIp","title":"Primary IPs","provider":"go.mondoo.com/mql/providers/hetzner"},"server":{"name":"server","type":"\u001bhetzner.server","title":"Hetzner Cloud server (virtual machine)","desc":"Cloud virtual machine along with its full runtime and networking posture: public IPv4 and IPv6 addresses and their abuse-block state, attached firewalls and their application status, private network attachments, floating IPs, load balancers, backup window, and delete/rebuild protection. The `exposure` field summarizes internet reachability by combining the public IP with firewall ingress, which makes this the resource to audit for unintentionally exposed hosts. Select a single server by its numeric id, for example `hetzner.server(id: 42)`.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"serverType":{"name":"serverType","type":"\u001bhetzner.serverType","title":"Hetzner Cloud server type (VM size)","desc":"Hardware profile behind a Hetzner Cloud server: core count, memory, disk, storage type (local or network), CPU type (shared or dedicated), and CPU architecture (x86 or arm). Select a server type by its numeric id, for example `hetzner.serverType(id: 22)`. The `deprecated` flag and `locations` report where the type can still be provisioned and whether Hetzner has scheduled it for removal.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"serverTypes":{"name":"serverTypes","type":"\u0019\u001bhetzner.serverType","title":"Server types (VM sizes)","provider":"go.mondoo.com/mql/providers/hetzner"},"servers":{"name":"servers","type":"\u0019\u001bhetzner.server","title":"Cloud servers (virtual machines)","provider":"go.mondoo.com/mql/providers/hetzner"},"sshKey":{"name":"sshKey","type":"\u001bhetzner.sshKey","title":"Hetzner Cloud SSH key","desc":"SSH public key registered on a Hetzner Cloud project and available to inject into new servers at creation time, granting whoever holds the matching private key root-level access. Auditing these keys shows which credentials can be provisioned onto infrastructure, and the algorithm and bits fields let you flag weak or deprecated key types (for example short RSA keys or ssh-dss). Select a single key by its numeric id, for example hetzner.sshKey(id: 12345).","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"sshKeys":{"name":"sshKeys","type":"\u0019\u001bhetzner.sshKey","title":"SSH keys","provider":"go.mondoo.com/mql/providers/hetzner"},"storageBox":{"name":"storageBox","type":"\u001bhetzner.storageBox","title":"Hetzner Cloud Storage Box (managed backup/file storage)","desc":"Managed backup and file-storage volume with its own login credentials and network access controls. The enabled access protocols (sambaEnabled, sshEnabled, webdavEnabled, zfsEnabled), whether the box is reachableExternally beyond the Hetzner network, the automated snapshotPlan, and delete protection together describe its exposure and data-retention posture. Subaccounts carry independent credentials and access scopes, and snapshots capture point-in-time copies. Select a Storage Box by id, for example `hetzner.storageBox(id: 42)`.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"storageBoxType":{"name":"storageBoxType","type":"\u001bhetzner.storageBoxType","title":"Hetzner Cloud Storage Box type (storage tier)","desc":"Storage tier available for Hetzner Cloud Storage Boxes, defining the included capacity and the limits that apply to boxes of this tier: how many manual snapshots, automatic snapshots, and subaccounts are permitted. Select a type by `id` (for example hetzner.storageBoxType(id: 42)) to inspect its `size`, its snapshot and subaccount limits, and whether the tier has been deprecated. Useful for confirming which tier a Storage Box runs on and what capacity and snapshot headroom that tier provides.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"storageBoxTypes":{"name":"storageBoxTypes","type":"\u0019\u001bhetzner.storageBoxType","title":"Storage Box types (storage tiers)","min_provider_version":"13.4.2","provider":"go.mondoo.com/mql/providers/hetzner"},"storageBoxes":{"name":"storageBoxes","type":"\u0019\u001bhetzner.storageBox","title":"Storage Boxes (managed backup/file storage)","min_provider_version":"13.4.2","provider":"go.mondoo.com/mql/providers/hetzner"},"volume":{"name":"volume","type":"\u001bhetzner.volume","title":"Hetzner Cloud block storage volume","desc":"A network-attached block storage volume in a Hetzner Cloud project, selected by its numeric `id`, for example `hetzner.volume(id: 12345)`. Reports capacity, attachment state, filesystem format, deletion protection, and the server the volume is currently mounted on, so audits can flag unattached volumes, oversized allocations, or volumes left without deletion protection.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"volumes":{"name":"volumes","type":"\u0019\u001bhetzner.volume","title":"Block storage volumes","provider":"go.mondoo.com/mql/providers/hetzner"},"zone":{"name":"zone","type":"\u001bhetzner.zone","title":"Hetzner Cloud DNS zone","desc":"DNS zone hosted on Hetzner's authoritative nameservers, covering a single domain and all of its resource records. Auditing a zone reveals whether the domain is correctly delegated to Hetzner, who registers it, how many records it holds, and whether delete protection is in place. Zones are listed through `hetzner.zones` or selected by numeric `id`. Comparing `assignedNameservers` (what Hetzner expects) against `delegatedNameservers` (what the domain currently points at), together with `delegationStatus`, surfaces broken or lame delegations, and `rrsets` exposes the individual record sets published in the zone.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"zones":{"name":"zones","type":"\u0019\u001bhetzner.zone","title":"Managed DNS zones","min_provider_version":"13.4.2","provider":"go.mondoo.com/mql/providers/hetzner"}},"title":"Hetzner Cloud project","desc":"Project-scoped root of the Hetzner Cloud provider, exposing the compute, networking, storage, and DNS resources reachable with the project's API token. Cloud servers and their server types and images, block storage volumes, project networks (Hetzner's VPC), routable floating and primary IPv4/IPv6 addresses, managed load balancers, stateful firewall rule sets, managed TLS certificates, SSH keys, spread/anti-affinity placement groups, boot ISOs, the regional and datacenter topology, managed Storage Boxes, and managed DNS zones with their records are all queryable here, providing a full inventory of a single Hetzner Cloud project.","min_provider_version":"13.0.1","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.certificate":{"id":"hetzner.certificate","name":"hetzner.certificate","fields":{"certificate":{"name":"certificate","type":"\u0007","is_mandatory":true,"title":"PEM-encoded certificate body","min_provider_version":"13.1.2","provider":"go.mondoo.com/mql/providers/hetzner"},"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"domainNames":{"name":"domainNames","type":"\u0019\u0007","is_mandatory":true,"title":"DNS names covered by the certificate","provider":"go.mondoo.com/mql/providers/hetzner"},"fingerprint":{"name":"fingerprint","type":"\u0007","is_mandatory":true,"title":"SHA256 fingerprint","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Certificate ID","provider":"go.mondoo.com/mql/providers/hetzner"},"isCa":{"name":"isCa","type":"\u0004","is_mandatory":true,"title":"Whether the certificate is a certificate authority (the basic-constraints CA flag)","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"issuer":{"name":"issuer","type":"\u0007","is_mandatory":true,"title":"Distinguished name of the issuer parsed from the certificate","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"keyAlgorithm":{"name":"keyAlgorithm","type":"\u0007","is_mandatory":true,"title":"Public key algorithm parsed from the certificate (RSA, ECDSA, Ed25519, DSA)","desc":"Empty when the certificate body cannot be parsed.","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"keyBits":{"name":"keyBits","type":"\u0005","is_mandatory":true,"title":"Public key size in bits parsed from the certificate","desc":"The RSA/DSA modulus size or the ECDSA curve size. Ed25519 keys report 256. 0 when the certificate body cannot be parsed or the size cannot be determined.","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancers":{"name":"loadBalancers","type":"\u0019\u001bhetzner.loadBalancer","title":"Load balancers using this certificate (type=load_balancer entries in usedBy)","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Certificate name","provider":"go.mondoo.com/mql/providers/hetzner"},"notValidAfter":{"name":"notValidAfter","type":"\t","is_mandatory":true,"title":"Validity end","provider":"go.mondoo.com/mql/providers/hetzner"},"notValidBefore":{"name":"notValidBefore","type":"\t","is_mandatory":true,"title":"Validity start","provider":"go.mondoo.com/mql/providers/hetzner"},"selfSigned":{"name":"selfSigned","type":"\u0004","is_mandatory":true,"title":"Whether the certificate is self-signed","desc":"True when the issuer equals the subject and the signature verifies against the certificate's own public key. The signature check distinguishes a genuinely self-signed certificate from a cross-signed one that shares issuer and subject names but is signed by another key.","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"serialNumber":{"name":"serialNumber","type":"\u0007","is_mandatory":true,"title":"Certificate serial number parsed from the certificate, in decimal","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"servers":{"name":"servers","type":"\u0019\u001bhetzner.server","title":"Servers using this certificate (type=server entries in usedBy)","provider":"go.mondoo.com/mql/providers/hetzner"},"signatureAlgorithm":{"name":"signatureAlgorithm","type":"\u0007","is_mandatory":true,"title":"Certificate signature algorithm parsed from the certificate","desc":"For example SHA256-RSA, SHA384-ECDSA, or the legacy SHA1-RSA and MD5-RSA. Empty when the certificate body cannot be parsed.","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"status":{"name":"status","type":"\n","is_mandatory":true,"title":"Issuance and renewal status of a managed certificate","desc":"Populated for managed certificates only (empty for uploaded ones). Keys: `issuance` and `renewal`, each one of pending, completed, failed, scheduled, or unavailable, plus `error` (a human-readable message) present only when issuance or renewal has failed.","provider":"go.mondoo.com/mql/providers/hetzner"},"subject":{"name":"subject","type":"\u0007","is_mandatory":true,"title":"Distinguished name of the subject parsed from the certificate","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"type":{"name":"type","type":"\u0007","is_mandatory":true,"title":"Type (uploaded, managed)","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud TLS certificate","desc":"A TLS certificate stored in a Hetzner Cloud project, either uploaded by you or issued and renewed automatically by Hetzner as a managed certificate. Select one by its numeric id, for example `hetzner.certificate(id: 12345)`. Fields parsed from the certificate body (keyAlgorithm, keyBits, signatureAlgorithm, notValidAfter, selfSigned, isCa) support auditing key strength, expiry, and trust, while servers and loadBalancers reveal which resources terminate TLS with it.","private":true,"min_provider_version":"13.0.1","defaults":"id name type","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.datacenter":{"id":"hetzner.datacenter","name":"hetzner.datacenter","fields":{"availableServerTypes":{"name":"availableServerTypes","type":"\u0019\u001bhetzner.serverType","title":"Server types currently available for new servers in this datacenter","provider":"go.mondoo.com/mql/providers/hetzner"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Description","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Datacenter ID","provider":"go.mondoo.com/mql/providers/hetzner"},"location":{"name":"location","type":"\u001bhetzner.location","title":"Location of the datacenter","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Slug name (e.g., fsn1-dc14)","provider":"go.mondoo.com/mql/providers/hetzner"},"serverTypesAvailableForMigration":{"name":"serverTypesAvailableForMigration","type":"\u0019\u001bhetzner.serverType","title":"Server types available for migration into this datacenter","provider":"go.mondoo.com/mql/providers/hetzner"},"servers":{"name":"servers","type":"\u0019\u001bhetzner.server","title":"Servers running in this datacenter","desc":"Hetzner removed the datacenter association from servers, so servers can no longer be mapped back to a datacenter. This field is deprecated and always resolves to an empty list.","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"supportedServerTypes":{"name":"supportedServerTypes","type":"\u0019\u001bhetzner.serverType","title":"Server types supported in this datacenter","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud datacenter","desc":"A single datacenter within a Hetzner location, identified by a slug such as fsn1-dc14. Select one by its numeric id, for example hetzner.datacenter(id: 4). Reports the location it belongs to, the server types it supports, which of those are currently available for new servers, and which are open for migration, so you can plan placement and capacity. The servers field lists the servers running in this datacenter.","private":true,"min_provider_version":"13.0.1","defaults":"id name","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.firewall":{"id":"hetzner.firewall","name":"hetzner.firewall","fields":{"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"egressRestricted":{"name":"egressRestricted","type":"\u0004","title":"Whether the rule set restricts outbound traffic","desc":"Hetzner firewalls permit all outbound traffic unless the rule set holds at least one rule with direction `out`, in which case only traffic matching those rules is allowed. False therefore means the firewall places no restriction on connections the server opens itself.","min_provider_version":"13.7.6","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Firewall ID","provider":"go.mondoo.com/mql/providers/hetzner"},"labelSelectorTargets":{"name":"labelSelectorTargets","type":"\u0019\u001bhetzner.server","title":"Servers resolved from the firewall's label selectors","desc":"The effective set of servers the label_selector bindings currently expand to. Where `labelSelectors` lists the selector expressions, this lists the servers they actually match — the real blast radius of a selector-based binding.","min_provider_version":"13.4.2","provider":"go.mondoo.com/mql/providers/hetzner"},"labelSelectors":{"name":"labelSelectors","type":"\u0019\u0007","is_mandatory":true,"title":"Label selectors the firewall is applied to (type=label_selector entries)","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Firewall name","provider":"go.mondoo.com/mql/providers/hetzner"},"rules":{"name":"rules","type":"\u0019\n","is_mandatory":true,"title":"Firewall rules","desc":"Each rule is a dict with `direction` (in or out), `protocol` (tcp, udp, icmp, esp, or gre), `sourceIps` and `destinationIps` (lists of CIDR blocks the rule matches), and optional `port` and `description`. An inbound rule whose `sourceIps` contains 0.0.0.0/0 or ::/0 opens the port to the entire internet.","provider":"go.mondoo.com/mql/providers/hetzner"},"servers":{"name":"servers","type":"\u0019\u001bhetzner.server","title":"Servers the firewall is directly applied to (type=server entries)","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud firewall","desc":"A stateful, project-level firewall rule set applied to servers directly or by label selector. Surfaces the firewall `rules` (each with direction, protocol, port, and the `sourceIps`/`destinationIps` CIDRs), the `servers()` the firewall is directly applied to, the `labelSelectors` it targets, applied `labels`, and the creation timestamp. Select a firewall by id with `hetzner.firewall(id: 123)`.","min_provider_version":"13.0.1","defaults":"id name","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.floatingIp":{"id":"hetzner.floatingIp","name":"hetzner.floatingIp","fields":{"blocked":{"name":"blocked","type":"\u0004","is_mandatory":true,"title":"Whether the IP is blocked","provider":"go.mondoo.com/mql/providers/hetzner"},"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Description","provider":"go.mondoo.com/mql/providers/hetzner"},"dnsPtr":{"name":"dnsPtr","type":"\u0019\n","is_mandatory":true,"title":"Reverse DNS entries [{ip, dnsPtr}]","provider":"go.mondoo.com/mql/providers/hetzner"},"homeLocation":{"name":"homeLocation","type":"\u001bhetzner.location","title":"Home location","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Floating IP ID","provider":"go.mondoo.com/mql/providers/hetzner"},"ip":{"name":"ip","type":"\u0007","is_mandatory":true,"title":"IP address (or CIDR for IPv6)","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Name","provider":"go.mondoo.com/mql/providers/hetzner"},"protection":{"name":"protection","type":"\n","is_mandatory":true,"title":"Resource protection (delete)","provider":"go.mondoo.com/mql/providers/hetzner"},"server":{"name":"server","type":"\u001bhetzner.server","title":"Server the IP is assigned to (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"type":{"name":"type","type":"\u0007","is_mandatory":true,"title":"Type (ipv4, ipv6)","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud floating IP","desc":"A floating IPv4 or IPv6 address that can be reassigned between servers, making it the building block for failover and high-availability setups. Select one by its numeric identifier, for example `hetzner.floatingIp(id: 12345)`. The `server` reference resolves the server the IP is currently routed to (null when unassigned), `blocked` flags an address the provider has administratively suspended, and `dnsPtr` exposes the reverse DNS records configured for it.","private":true,"min_provider_version":"13.0.1","defaults":"id ip type","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.image":{"id":"hetzner.image","name":"hetzner.image","fields":{"architecture":{"name":"architecture","type":"\u0007","is_mandatory":true,"title":"Architecture (x86, arm)","min_provider_version":"13.1.2","provider":"go.mondoo.com/mql/providers/hetzner"},"boundServer":{"name":"boundServer","type":"\u001bhetzner.server","title":"Bound server (nullable, for snapshots/backups)","provider":"go.mondoo.com/mql/providers/hetzner"},"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"createdFrom":{"name":"createdFrom","type":"\u001bhetzner.server","title":"Server the image was created from (nullable, for snapshots/backups)","provider":"go.mondoo.com/mql/providers/hetzner"},"deleted":{"name":"deleted","type":"\t","is_mandatory":true,"title":"Deletion timestamp (nullable)","min_provider_version":"13.1.2","provider":"go.mondoo.com/mql/providers/hetzner"},"deprecated":{"name":"deprecated","type":"\t","is_mandatory":true,"title":"Deprecation timestamp (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Description","provider":"go.mondoo.com/mql/providers/hetzner"},"diskSize":{"name":"diskSize","type":"\u0006","is_mandatory":true,"title":"Disk size in GB","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Image ID","provider":"go.mondoo.com/mql/providers/hetzner"},"imageSize":{"name":"imageSize","type":"\u0006","is_mandatory":true,"title":"Image data size in GB (snapshots/backups)","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Name (slug for system images, e.g., ubuntu-22.04)","provider":"go.mondoo.com/mql/providers/hetzner"},"osFlavor":{"name":"osFlavor","type":"\u0007","is_mandatory":true,"title":"OS flavor (ubuntu, debian, centos, ...)","provider":"go.mondoo.com/mql/providers/hetzner"},"osVersion":{"name":"osVersion","type":"\u0007","is_mandatory":true,"title":"OS version","provider":"go.mondoo.com/mql/providers/hetzner"},"protection":{"name":"protection","type":"\n","is_mandatory":true,"title":"Resource protection","desc":"Deletion protection state as `delete` (bool). When true, the image cannot be deleted until protection is disabled.","provider":"go.mondoo.com/mql/providers/hetzner"},"rapidDeploy":{"name":"rapidDeploy","type":"\u0004","is_mandatory":true,"title":"Whether rapid deploy is supported","provider":"go.mondoo.com/mql/providers/hetzner"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Image status (available, creating, unavailable)","provider":"go.mondoo.com/mql/providers/hetzner"},"type":{"name":"type","type":"\u0007","is_mandatory":true,"title":"Image type (system, snapshot, backup, app)","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud image (system image, snapshot, backup, or app)","desc":"A bootable disk image usable when creating servers: a Hetzner-provided system image, a user-created snapshot, an automated backup, or an app image. The `type` field distinguishes these categories. Select an image by its numeric id, for example `hetzner.image(id: 12345)`. Useful for auditing which images exist, their OS and architecture, deletion protection, and whether an image is deprecated or bound to a server.","private":true,"min_provider_version":"13.0.1","defaults":"id name type","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.iso":{"id":"hetzner.iso","name":"hetzner.iso","fields":{"architecture":{"name":"architecture","type":"\u0007","is_mandatory":true,"title":"Architecture (x86, arm)","provider":"go.mondoo.com/mql/providers/hetzner"},"deprecation":{"name":"deprecation","type":"\n","is_mandatory":true,"title":"Deprecation schedule","desc":"Empty when the image is not deprecated. When present it carries `announced` (timestamp the deprecation was announced) and `unavailableAfter` (timestamp after which the image can no longer be attached).","provider":"go.mondoo.com/mql/providers/hetzner"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Description","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"ISO ID","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"ISO name","provider":"go.mondoo.com/mql/providers/hetzner"},"type":{"name":"type","type":"\u0007","is_mandatory":true,"title":"Type (public, private)","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud ISO image","desc":"Bootable ISO image that can be attached to a server for installation or recovery, covering both Hetzner-provided public images and images uploaded to the project. The `type` field distinguishes public from private ISOs, and `deprecation` flags images scheduled for removal so audits can catch servers relying on soon-to-be-unavailable media. Select a single image by its ID, for example `hetzner.iso(id: 12345)`.","private":true,"min_provider_version":"13.0.1","defaults":"id name type","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.loadBalancer":{"id":"hetzner.loadBalancer","name":"hetzner.loadBalancer","fields":{"algorithm":{"name":"algorithm","type":"\u0007","is_mandatory":true,"title":"Algorithm (round_robin, least_connections)","provider":"go.mondoo.com/mql/providers/hetzner"},"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"exposure":{"name":"exposure","type":"\u001bhetzner.network.exposure","title":"Internet-exposure breakdown (public network combined with forwarding services)","min_provider_version":"13.3.1","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Load balancer ID","provider":"go.mondoo.com/mql/providers/hetzner"},"includedTraffic":{"name":"includedTraffic","type":"\u0005","is_mandatory":true,"title":"Included monthly traffic (bytes)","provider":"go.mondoo.com/mql/providers/hetzner"},"ingoingTraffic":{"name":"ingoingTraffic","type":"\u0005","is_mandatory":true,"title":"Ingoing traffic for the current period (bytes)","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancerType":{"name":"loadBalancerType","type":"\u001bhetzner.loadBalancerType","title":"Load balancer type","provider":"go.mondoo.com/mql/providers/hetzner"},"location":{"name":"location","type":"\u001bhetzner.location","title":"Location","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Name","provider":"go.mondoo.com/mql/providers/hetzner"},"outgoingTraffic":{"name":"outgoingTraffic","type":"\u0005","is_mandatory":true,"title":"Outgoing traffic for the current period (bytes)","provider":"go.mondoo.com/mql/providers/hetzner"},"privateNet":{"name":"privateNet","type":"\u0019\u001bhetzner.loadBalancer.privateNet","title":"Private network attachments","provider":"go.mondoo.com/mql/providers/hetzner"},"protection":{"name":"protection","type":"\n","is_mandatory":true,"title":"Resource protection (delete)","provider":"go.mondoo.com/mql/providers/hetzner"},"publicNet":{"name":"publicNet","type":"\n","is_mandatory":true,"title":"Public network configuration","desc":"Dict with keys enabled (whether the load balancer has a public interface), and ipv4 and ipv6 (the assigned public addresses). When enabled is false the load balancer is reachable only over attached private networks.","provider":"go.mondoo.com/mql/providers/hetzner"},"servers":{"name":"servers","type":"\u0019\u001bhetzner.server","title":"Backend servers behind the load balancer","desc":"The servers the load balancer forwards to, combining the direct server targets with the servers currently matched by any label_selector targets, deduplicated. The reverse of the load balancers listed on each server.","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"service":{"name":"service","type":"\u001bhetzner.loadBalancer.service","title":"Load balancer service definition","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"services":{"name":"services","type":"\u0019\u001bhetzner.loadBalancer.service","title":"Forwarding services","provider":"go.mondoo.com/mql/providers/hetzner"},"target":{"name":"target","type":"\u001bhetzner.loadBalancer.target","title":"Load balancer target","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"targets":{"name":"targets","type":"\u0019\u001bhetzner.loadBalancer.target","title":"Targets behind the load balancer","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud load balancer","desc":"Managed L4/L7 load balancer that distributes incoming traffic across backend servers and IP targets. The public network configuration and the forwarding services it exposes govern its internet reachability and TLS termination, making it a central resource for auditing exposure, health checking, and PROXY protocol use. The routing algorithm is one of round_robin or least_connections. Select a load balancer by id with `hetzner.loadBalancer(id: 123)`.","min_provider_version":"13.0.1","defaults":"id name","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.loadBalancer.privateNet":{"id":"hetzner.loadBalancer.privateNet","name":"hetzner.loadBalancer.privateNet","fields":{"ip":{"name":"ip","type":"\u0007","is_mandatory":true,"title":"IP address on the network","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancer":{"name":"loadBalancer","type":"\u001bhetzner.loadBalancer","title":"Load balancer the network is attached to","min_provider_version":"13.7.6","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancerId":{"name":"loadBalancerId","type":"\u0005","is_mandatory":true,"title":"Parent load balancer ID","desc":"Deprecated in favor of loadBalancer.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"network":{"name":"network","type":"\u001bhetzner.network","title":"Hetzner Cloud network attached to the load balancer","provider":"go.mondoo.com/mql/providers/hetzner"},"networkId":{"name":"networkId","type":"\u0005","is_mandatory":true,"title":"Attached network ID","desc":"Deprecated in favor of network.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"}},"title":"Hetzner Cloud load balancer private network attachment","private":true,"min_provider_version":"13.0.1","defaults":"ip","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.loadBalancer.service":{"id":"hetzner.loadBalancer.service","name":"hetzner.loadBalancer.service","fields":{"certificates":{"name":"certificates","type":"\u0019\u001bhetzner.certificate","title":"TLS certificates attached to this service","provider":"go.mondoo.com/mql/providers/hetzner"},"destinationPort":{"name":"destinationPort","type":"\u0005","is_mandatory":true,"title":"Destination port on targets","provider":"go.mondoo.com/mql/providers/hetzner"},"healthCheck":{"name":"healthCheck","type":"\n","is_mandatory":true,"title":"Health check configuration","desc":"Dict with keys protocol (tcp or http), port, interval and timeout in seconds, and retries. For http checks it also carries an http key holding {domain, path, response, statusCodes, tls}.","provider":"go.mondoo.com/mql/providers/hetzner"},"http":{"name":"http","type":"\n","is_mandatory":true,"title":"Session persistence and HTTP redirect options","desc":"Dict with keys cookieName, cookieLifetime (seconds), redirectHttp (whether plain HTTP is redirected to HTTPS), stickySessions, and timeoutIdle (seconds an idle connection is held open before the load balancer closes it). TLS certificates are exposed separately through certificates.","provider":"go.mondoo.com/mql/providers/hetzner"},"listenPort":{"name":"listenPort","type":"\u0005","is_mandatory":true,"title":"Listen port","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancer":{"name":"loadBalancer","type":"\u001bhetzner.loadBalancer","title":"Load balancer the service forwards for","min_provider_version":"13.7.6","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancerId":{"name":"loadBalancerId","type":"\u0005","is_mandatory":true,"title":"Parent load balancer ID","desc":"Deprecated in favor of loadBalancer.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"protocol":{"name":"protocol","type":"\u0007","is_mandatory":true,"title":"Protocol (tcp, http, https)","provider":"go.mondoo.com/mql/providers/hetzner"},"proxyProtocol":{"name":"proxyProtocol","type":"\u0004","is_mandatory":true,"title":"Whether PROXY protocol is enabled","provider":"go.mondoo.com/mql/providers/hetzner"}},"title":"Load balancer service definition","private":true,"min_provider_version":"13.0.1","defaults":"protocol listenPort","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.loadBalancer.target":{"id":"hetzner.loadBalancer.target","name":"hetzner.loadBalancer.target","fields":{"healthStatus":{"name":"healthStatus","type":"\u0019\n","is_mandatory":true,"title":"Health status of the target [{listenPort, status}]","provider":"go.mondoo.com/mql/providers/hetzner"},"ip":{"name":"ip","type":"\u0007","is_mandatory":true,"title":"IP address (only for type=ip)","provider":"go.mondoo.com/mql/providers/hetzner"},"labelSelector":{"name":"labelSelector","type":"\u0007","is_mandatory":true,"title":"Label selector (only for type=label_selector)","provider":"go.mondoo.com/mql/providers/hetzner"},"labelSelectorTargets":{"name":"labelSelectorTargets","type":"\u0019\u001bhetzner.server","title":"Servers resolved from the target's label selector","desc":"The servers a label_selector target currently forwards to. Where labelSelector holds the selector expression, this lists the servers it actually matches. Empty for server and ip targets.","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancer":{"name":"loadBalancer","type":"\u001bhetzner.loadBalancer","title":"Load balancer the target sits behind","min_provider_version":"13.7.6","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancerId":{"name":"loadBalancerId","type":"\u0005","is_mandatory":true,"title":"Parent load balancer ID","desc":"Deprecated in favor of loadBalancer.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"server":{"name":"server","type":"\u001bhetzner.server","title":"Server target (nullable, only for type=server)","provider":"go.mondoo.com/mql/providers/hetzner"},"type":{"name":"type","type":"\u0007","is_mandatory":true,"title":"Target type (server, label_selector, ip)","provider":"go.mondoo.com/mql/providers/hetzner"},"usePrivateIp":{"name":"usePrivateIp","type":"\u0004","is_mandatory":true,"title":"Whether to route traffic to the target's private IP","provider":"go.mondoo.com/mql/providers/hetzner"}},"title":"Load balancer target","private":true,"min_provider_version":"13.0.1","defaults":"type","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.loadBalancerType":{"id":"hetzner.loadBalancerType","name":"hetzner.loadBalancerType","fields":{"deprecated":{"name":"deprecated","type":"\t","is_mandatory":true,"title":"Announcement timestamp","desc":"Deprecated in favor of deprecation, which carries the retirement date as well. Holds the timestamp the deprecation was announced, and is null while the load balancer type is current.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"deprecation":{"name":"deprecation","type":"\n","is_mandatory":true,"title":"Deprecation schedule","desc":"Empty when the load balancer type is not deprecated. When present it carries `announced` (timestamp the deprecation was announced) and `unavailableAfter` (timestamp after which load balancers of this type can no longer be created).","min_provider_version":"13.7.5","provider":"go.mondoo.com/mql/providers/hetzner"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Description","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Load balancer type ID","provider":"go.mondoo.com/mql/providers/hetzner"},"maxAssignedCertificates":{"name":"maxAssignedCertificates","type":"\u0005","is_mandatory":true,"title":"Maximum assigned certificates","provider":"go.mondoo.com/mql/providers/hetzner"},"maxConnections":{"name":"maxConnections","type":"\u0005","is_mandatory":true,"title":"Maximum connections","provider":"go.mondoo.com/mql/providers/hetzner"},"maxServices":{"name":"maxServices","type":"\u0005","is_mandatory":true,"title":"Maximum services","provider":"go.mondoo.com/mql/providers/hetzner"},"maxTargets":{"name":"maxTargets","type":"\u0005","is_mandatory":true,"title":"Maximum targets","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Slug name (lb11, lb21, lb31)","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud load balancer type","desc":"A load balancer size class such as lb11, lb21, or lb31, defining the capacity limits a load balancer of that class is subject to: the maximum concurrent connections, services, targets, and assigned TLS certificates. Use it to confirm a load balancer is provisioned on a class that fits its expected traffic, or to spot classes that are scheduled for retirement through the `deprecated` timestamp. Select a type by id with `hetzner.loadBalancerType(id: 1)`.","private":true,"min_provider_version":"13.0.1","defaults":"id name","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.location":{"id":"hetzner.location","name":"hetzner.location","fields":{"city":{"name":"city","type":"\u0007","is_mandatory":true,"title":"City","provider":"go.mondoo.com/mql/providers/hetzner"},"country":{"name":"country","type":"\u0007","is_mandatory":true,"title":"Country code (DE, FI, US)","provider":"go.mondoo.com/mql/providers/hetzner"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Description","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Location ID","provider":"go.mondoo.com/mql/providers/hetzner"},"latitude":{"name":"latitude","type":"\u0006","is_mandatory":true,"title":"Latitude","provider":"go.mondoo.com/mql/providers/hetzner"},"longitude":{"name":"longitude","type":"\u0006","is_mandatory":true,"title":"Longitude","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Slug name (fsn1, nbg1, hel1, ash, hil)","provider":"go.mondoo.com/mql/providers/hetzner"},"networkZone":{"name":"networkZone","type":"\u0007","is_mandatory":true,"title":"Network zone (eu-central, us-east, us-west)","provider":"go.mondoo.com/mql/providers/hetzner"},"servers":{"name":"servers","type":"\u0019\u001bhetzner.server","title":"Servers running in this location","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud location","desc":"A geographic location (region) where Hetzner Cloud resources can run, such as `fsn1` (Falkenstein), `nbg1` (Nuremberg), `hel1` (Helsinki), `ash` (Ashburn), or `hil` (Hillsboro). Select a location by its numeric `id`, for example `hetzner.location(id: 1)`. Beyond the human-readable `city`, `country`, and geographic coordinates, the `networkZone` groups locations that can share private networks (eu-central, us-east, us-west), which matters when planning cross-region connectivity and data residency. The `servers` field lists the server instances running in this location.","private":true,"min_provider_version":"13.0.1","defaults":"id name city","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.network":{"id":"hetzner.network","name":"hetzner.network","fields":{"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"exposeRoutesToVswitch":{"name":"exposeRoutesToVswitch","type":"\u0004","is_mandatory":true,"title":"Whether routes are exposed to vSwitch","provider":"go.mondoo.com/mql/providers/hetzner"},"exposure":{"name":"exposure","type":"\u001bhetzner.network.exposure","title":"Internet-exposure breakdown","desc":"Explains whether a resource is reachable from the internet: whether it has a public IP and whether inbound traffic from any address is admitted. For a server that means a firewall inbound rule open to the internet (or no firewall attached at all); for a load balancer it means an enabled public network with at least one forwarding service.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Network ID","provider":"go.mondoo.com/mql/providers/hetzner"},"ipRange":{"name":"ipRange","type":"\u0007","is_mandatory":true,"title":"IP range in CIDR notation","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancers":{"name":"loadBalancers","type":"\u0019\u001bhetzner.loadBalancer","title":"Load balancers attached to this network","min_provider_version":"13.1.2","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Network name","provider":"go.mondoo.com/mql/providers/hetzner"},"protection":{"name":"protection","type":"\n","is_mandatory":true,"title":"Resource protection (delete)","provider":"go.mondoo.com/mql/providers/hetzner"},"routes":{"name":"routes","type":"\u0019\n","is_mandatory":true,"title":"Routes [{destination, gateway}]","provider":"go.mondoo.com/mql/providers/hetzner"},"servers":{"name":"servers","type":"\u0019\u001bhetzner.server","title":"Servers attached to this network","provider":"go.mondoo.com/mql/providers/hetzner"},"subnets":{"name":"subnets","type":"\u0019\n","is_mandatory":true,"title":"Subnets carved out of the network's IP range","desc":"Each subnet is a dict with `type` (cloud, server, or vswitch), `ipRange`, `networkZone`, `gateway`, and `vswitchId`. A `vswitchId` other than 0 attaches the subnet to a Hetzner vSwitch, extending the network to dedicated servers and other networks outside this project.","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud network (VPC)","desc":"Private network spanning one or more subnets that Hetzner Cloud servers and load balancers attach to for internal traffic. Select a network by its numeric id, for example hetzner.network(id: 4711). The ipRange field holds the overall CIDR, subnets carves it into per-zone ranges, and routes lists static next-hop entries. Inspect servers and loadBalancers to see what is attached, and exposeRoutesToVswitch to check whether the network's routes are advertised to a connected vSwitch.","private":true,"min_provider_version":"13.0.1","defaults":"id name ipRange","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.network.exposure":{"id":"hetzner.network.exposure","name":"hetzner.network.exposure","fields":{"firewallAllowsIngress":{"name":"firewallAllowsIngress","type":"\u0004","is_mandatory":true,"title":"Whether inbound traffic from any address is admitted","desc":"For a server, a firewall inbound rule open to the internet, or no firewall enforcing rules at all. Only bindings whose status is applied count as enforcing, so a server whose firewalls are all still pending admits ingress. For a load balancer, an enabled public network with at least one forwarding service.","provider":"go.mondoo.com/mql/providers/hetzner"},"hasPublicIp":{"name":"hasPublicIp","type":"\u0004","is_mandatory":true,"title":"Whether the resource has a public IPv4 or IPv6 address","provider":"go.mondoo.com/mql/providers/hetzner"},"internetReachable":{"name":"internetReachable","type":"\u0004","is_mandatory":true,"title":"Whether the resource is reachable from the internet (a public IP and ingress that admits any address)","provider":"go.mondoo.com/mql/providers/hetzner"},"openIngressRules":{"name":"openIngressRules","type":"\u0019\n","is_mandatory":true,"title":"Ingress rules or services that admit traffic from any address","desc":"For a server, the firewall inbound rules whose source is 0.0.0.0/0 or ::/0, each with keys direction, protocol, sourceIps, destinationIps, and optional port and description. For a load balancer, the public forwarding services, each with keys protocol, listenPort, and destinationPort.","provider":"go.mondoo.com/mql/providers/hetzner"}},"title":"Internet-exposure breakdown","desc":"Explains whether a resource is reachable from the internet: whether it has a public IP and whether inbound traffic from any address is admitted. For a server that means a firewall inbound rule open to the internet (or no firewall attached at all); for a load balancer it means an enabled public network with at least one forwarding service.","private":true,"min_provider_version":"13.3.1","defaults":"internetReachable hasPublicIp","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.placementGroup":{"id":"hetzner.placementGroup","name":"hetzner.placementGroup","fields":{"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Placement group ID","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Name","provider":"go.mondoo.com/mql/providers/hetzner"},"servers":{"name":"servers","type":"\u0019\u001bhetzner.server","title":"Servers in the placement group","provider":"go.mondoo.com/mql/providers/hetzner"},"type":{"name":"type","type":"\u0007","is_mandatory":true,"title":"Type (spread)","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud placement group","desc":"Group of Cloud Servers scheduled onto distinct physical hosts so that a single hardware failure cannot take down every member at once. Query by numeric id, for example `hetzner.placementGroup(id: 12345)`, to review which servers share a group and confirm that fault-tolerant workloads are spread across hardware. The `type` field reports the placement strategy (currently only spread) and `servers` lists the group members.","private":true,"min_provider_version":"13.0.1","defaults":"id name type","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.primaryIp":{"id":"hetzner.primaryIp","name":"hetzner.primaryIp","fields":{"assigneeId":{"name":"assigneeId","type":"\u0005","is_mandatory":true,"title":"ID of the assigned resource (0 if unassigned)","provider":"go.mondoo.com/mql/providers/hetzner"},"assigneeType":{"name":"assigneeType","type":"\u0007","is_mandatory":true,"title":"Assignee type (server)","provider":"go.mondoo.com/mql/providers/hetzner"},"autoDelete":{"name":"autoDelete","type":"\u0004","is_mandatory":true,"title":"Whether to auto-delete when the assigned resource is deleted","provider":"go.mondoo.com/mql/providers/hetzner"},"blocked":{"name":"blocked","type":"\u0004","is_mandatory":true,"title":"Whether the IP is blocked","provider":"go.mondoo.com/mql/providers/hetzner"},"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"datacenter":{"name":"datacenter","type":"\u001bhetzner.datacenter","title":"Datacenter the IP belongs to","desc":"Deprecated, please use location. Hetzner removed the datacenter association from primary IPs, so this always resolves to null.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"dnsPtr":{"name":"dnsPtr","type":"\u0019\n","is_mandatory":true,"title":"Reverse DNS entries [{ip, dnsPtr}]","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Primary IP ID","provider":"go.mondoo.com/mql/providers/hetzner"},"ip":{"name":"ip","type":"\u0007","is_mandatory":true,"title":"IP address (or CIDR for IPv6)","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"location":{"name":"location","type":"\u001bhetzner.location","title":"Location the IP belongs to","min_provider_version":"13.1.2","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Name","provider":"go.mondoo.com/mql/providers/hetzner"},"protection":{"name":"protection","type":"\n","is_mandatory":true,"title":"Resource protection (delete)","provider":"go.mondoo.com/mql/providers/hetzner"},"server":{"name":"server","type":"\u001bhetzner.server","title":"Server the IP is assigned to (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"type":{"name":"type","type":"\u0007","is_mandatory":true,"title":"Type (ipv4, ipv6)","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud primary IP","desc":"A standalone IPv4 or IPv6 address that a server holds independently of its lifecycle, so the address survives when the server is deleted or replaced. Reports the address and `type`, whether it is currently `blocked`, the `autoDelete` behavior that removes it alongside its assignee, the reverse DNS records, delete protection, and the server it is assigned to. Select a primary IP by its numeric id, for example `hetzner.primaryIp(id: 12345)`.","private":true,"min_provider_version":"13.0.1","defaults":"id ip type","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.server":{"id":"hetzner.server","name":"hetzner.server","fields":{"backupWindow":{"name":"backupWindow","type":"\u0007","is_mandatory":true,"title":"Backup window (e.g., \"22-02\"); empty if backups disabled","provider":"go.mondoo.com/mql/providers/hetzner"},"backupsEnabled":{"name":"backupsEnabled","type":"\u0004","is_mandatory":true,"title":"Whether automated backups are enabled (a backup window is set)","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"datacenter":{"name":"datacenter","type":"\u001bhetzner.datacenter","title":"Datacenter the server runs in","desc":"Deprecated, please use location. Hetzner removed the datacenter association from servers, so this always resolves to null.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"dnsRecords":{"name":"dnsRecords","type":"\u0019\u001bhetzner.zone.rrset.record","title":"DNS records in the project's zones that resolve to this server","desc":"The A and AAAA records whose value is the server's public IPv4 address or falls inside its public IPv6 network. Pairs with `exposure` to name the hostnames that reach an internet-reachable server. Records published in zones outside the project are not visible here.","min_provider_version":"13.7.7","provider":"go.mondoo.com/mql/providers/hetzner"},"exposure":{"name":"exposure","type":"\u001bhetzner.network.exposure","title":"Internet-exposure breakdown (public IP combined with firewall ingress)","min_provider_version":"13.3.1","provider":"go.mondoo.com/mql/providers/hetzner"},"firewallBinding":{"name":"firewallBinding","type":"\u001bhetzner.server.firewallBinding","title":"Hetzner Cloud server firewall binding","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"firewallBindings":{"name":"firewallBindings","type":"\u0019\u001bhetzner.server.firewallBinding","title":"Firewalls applied to the server, with per-binding application status (applied, pending)","min_provider_version":"13.1.2","provider":"go.mondoo.com/mql/providers/hetzner"},"firewalls":{"name":"firewalls","type":"\u0019\u001bhetzner.firewall","title":"Firewalls applied to the server","provider":"go.mondoo.com/mql/providers/hetzner"},"floatingIps":{"name":"floatingIps","type":"\u0019\u001bhetzner.floatingIp","title":"Floating IPs assigned to the server","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Server ID","provider":"go.mondoo.com/mql/providers/hetzner"},"image":{"name":"image","type":"\u001bhetzner.image","title":"Image the server was created from (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"includedTraffic":{"name":"includedTraffic","type":"\u0005","is_mandatory":true,"title":"Included monthly traffic (bytes)","provider":"go.mondoo.com/mql/providers/hetzner"},"ingoingTraffic":{"name":"ingoingTraffic","type":"\u0005","is_mandatory":true,"title":"Ingoing traffic for the current billing period (bytes)","provider":"go.mondoo.com/mql/providers/hetzner"},"iso":{"name":"iso","type":"\u001bhetzner.iso","title":"ISO attached to the server (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancers":{"name":"loadBalancers","type":"\u0019\u001bhetzner.loadBalancer","title":"Load balancers attached to the server","provider":"go.mondoo.com/mql/providers/hetzner"},"location":{"name":"location","type":"\u001bhetzner.location","title":"Location the server runs in","provider":"go.mondoo.com/mql/providers/hetzner"},"locked":{"name":"locked","type":"\u0004","is_mandatory":true,"title":"Whether the server is locked (Hetzner-side lock)","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Server name","provider":"go.mondoo.com/mql/providers/hetzner"},"outgoingTraffic":{"name":"outgoingTraffic","type":"\u0005","is_mandatory":true,"title":"Outgoing traffic for the current billing period (bytes)","provider":"go.mondoo.com/mql/providers/hetzner"},"placementGroup":{"name":"placementGroup","type":"\u001bhetzner.placementGroup","title":"Placement group (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"primaryDiskSize":{"name":"primaryDiskSize","type":"\u0005","is_mandatory":true,"title":"Size of the server's primary (boot) disk in GB","min_provider_version":"13.4.2","provider":"go.mondoo.com/mql/providers/hetzner"},"primaryIpv4":{"name":"primaryIpv4","type":"\u001bhetzner.primaryIp","title":"Primary IPv4 address (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"primaryIpv6":{"name":"primaryIpv6","type":"\u001bhetzner.primaryIp","title":"Primary IPv6 address (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"privateNet":{"name":"privateNet","type":"\u0019\u001bhetzner.server.privateNet","title":"Private network attachments","provider":"go.mondoo.com/mql/providers/hetzner"},"protection":{"name":"protection","type":"\n","is_mandatory":true,"title":"Resource protection settings","desc":"Dict with two boolean keys: `delete` (the server cannot be deleted while true) and `rebuild` (the server cannot be rebuilt while true).","provider":"go.mondoo.com/mql/providers/hetzner"},"publicIpv4":{"name":"publicIpv4","type":"\u0007","is_mandatory":true,"title":"Public IPv4 address; empty when the server has no public IPv4","min_provider_version":"13.0.6","provider":"go.mondoo.com/mql/providers/hetzner"},"publicIpv4Blocked":{"name":"publicIpv4Blocked","type":"\u0004","is_mandatory":true,"title":"Whether the public IPv4 address is blocked by Hetzner abuse handling","min_provider_version":"13.0.6","provider":"go.mondoo.com/mql/providers/hetzner"},"publicIpv4DnsPtr":{"name":"publicIpv4DnsPtr","type":"\u0007","is_mandatory":true,"title":"Reverse DNS (PTR) record for the public IPv4 address","min_provider_version":"13.0.6","provider":"go.mondoo.com/mql/providers/hetzner"},"publicIpv6":{"name":"publicIpv6","type":"\u0007","is_mandatory":true,"title":"Public IPv6 network in CIDR notation; empty when the server has no public IPv6","min_provider_version":"13.0.6","provider":"go.mondoo.com/mql/providers/hetzner"},"publicIpv6Blocked":{"name":"publicIpv6Blocked","type":"\u0004","is_mandatory":true,"title":"Whether the public IPv6 network is blocked by Hetzner abuse handling","min_provider_version":"13.0.6","provider":"go.mondoo.com/mql/providers/hetzner"},"publicIpv6DnsPtr":{"name":"publicIpv6DnsPtr","type":"\u0019\n","is_mandatory":true,"title":"Reverse DNS (PTR) records for addresses in the public IPv6 network (each dict: ip, dnsPtr)","min_provider_version":"13.0.6","provider":"go.mondoo.com/mql/providers/hetzner"},"rescueEnabled":{"name":"rescueEnabled","type":"\u0004","is_mandatory":true,"title":"Whether rescue mode is enabled","provider":"go.mondoo.com/mql/providers/hetzner"},"serverType":{"name":"serverType","type":"\u001bhetzner.serverType","title":"Server type (VM size)","provider":"go.mondoo.com/mql/providers/hetzner"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Status (running, off, starting, stopping, initializing, migrating, rebuilding, deleting, unknown)","provider":"go.mondoo.com/mql/providers/hetzner"},"volumes":{"name":"volumes","type":"\u0019\u001bhetzner.volume","title":"Volumes attached to the server","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud server (virtual machine)","desc":"Cloud virtual machine along with its full runtime and networking posture: public IPv4 and IPv6 addresses and their abuse-block state, attached firewalls and their application status, private network attachments, floating IPs, load balancers, backup window, and delete/rebuild protection. The `exposure` field summarizes internet reachability by combining the public IP with firewall ingress, which makes this the resource to audit for unintentionally exposed hosts. Select a single server by its numeric id, for example `hetzner.server(id: 42)`.","private":true,"min_provider_version":"13.0.1","defaults":"id name status","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.server.firewallBinding":{"id":"hetzner.server.firewallBinding","name":"hetzner.server.firewallBinding","fields":{"firewall":{"name":"firewall","type":"\u001bhetzner.firewall","title":"Hetzner Cloud firewall bound to the server","provider":"go.mondoo.com/mql/providers/hetzner"},"firewallId":{"name":"firewallId","type":"\u0005","is_mandatory":true,"title":"Bound firewall ID","desc":"Deprecated in favor of firewall.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"server":{"name":"server","type":"\u001bhetzner.server","title":"Server the firewall is bound to","min_provider_version":"13.7.6","provider":"go.mondoo.com/mql/providers/hetzner"},"serverId":{"name":"serverId","type":"\u0005","is_mandatory":true,"title":"Parent server ID","desc":"Deprecated in favor of server.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Application status (applied, pending)","provider":"go.mondoo.com/mql/providers/hetzner"}},"title":"Hetzner Cloud server firewall binding","private":true,"min_provider_version":"13.1.2","defaults":"status","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.server.privateNet":{"id":"hetzner.server.privateNet","name":"hetzner.server.privateNet","fields":{"aliasIps":{"name":"aliasIps","type":"\u0019\u0007","is_mandatory":true,"title":"Alias IPs on the network","provider":"go.mondoo.com/mql/providers/hetzner"},"ip":{"name":"ip","type":"\u0007","is_mandatory":true,"title":"IP address on the network","provider":"go.mondoo.com/mql/providers/hetzner"},"macAddress":{"name":"macAddress","type":"\u0007","is_mandatory":true,"title":"MAC address of the network interface","provider":"go.mondoo.com/mql/providers/hetzner"},"network":{"name":"network","type":"\u001bhetzner.network","title":"Hetzner Cloud network attached to the server","provider":"go.mondoo.com/mql/providers/hetzner"},"networkId":{"name":"networkId","type":"\u0005","is_mandatory":true,"title":"Attached network ID","desc":"Deprecated in favor of network.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"server":{"name":"server","type":"\u001bhetzner.server","title":"Server the network is attached to","min_provider_version":"13.7.6","provider":"go.mondoo.com/mql/providers/hetzner"},"serverId":{"name":"serverId","type":"\u0005","is_mandatory":true,"title":"Parent server ID","desc":"Deprecated in favor of server.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"}},"title":"Hetzner Cloud server private network attachment","private":true,"min_provider_version":"13.0.1","defaults":"ip macAddress","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.serverType":{"id":"hetzner.serverType","name":"hetzner.serverType","fields":{"architecture":{"name":"architecture","type":"\u0007","is_mandatory":true,"title":"Architecture (x86, arm)","provider":"go.mondoo.com/mql/providers/hetzner"},"cores":{"name":"cores","type":"\u0005","is_mandatory":true,"title":"Number of CPU cores","provider":"go.mondoo.com/mql/providers/hetzner"},"cpuType":{"name":"cpuType","type":"\u0007","is_mandatory":true,"title":"CPU type (shared, dedicated)","provider":"go.mondoo.com/mql/providers/hetzner"},"deprecated":{"name":"deprecated","type":"\u0004","is_mandatory":true,"title":"Whether the server type is deprecated","provider":"go.mondoo.com/mql/providers/hetzner"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Human-readable description","provider":"go.mondoo.com/mql/providers/hetzner"},"disk":{"name":"disk","type":"\u0005","is_mandatory":true,"title":"Disk size in GB","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Server type ID","provider":"go.mondoo.com/mql/providers/hetzner"},"location":{"name":"location","type":"\u001bhetzner.serverType.location","title":"Hetzner Cloud server type availability in a single location","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"locations":{"name":"locations","type":"\u0019\u001bhetzner.serverType.location","title":"Per-location availability and deprecation info","provider":"go.mondoo.com/mql/providers/hetzner"},"memory":{"name":"memory","type":"\u0006","is_mandatory":true,"title":"Memory in GB","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Slug name (cx11, cpx21, ...)","provider":"go.mondoo.com/mql/providers/hetzner"},"storageType":{"name":"storageType","type":"\u0007","is_mandatory":true,"title":"Storage type (local, network)","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud server type (VM size)","desc":"Hardware profile behind a Hetzner Cloud server: core count, memory, disk, storage type (local or network), CPU type (shared or dedicated), and CPU architecture (x86 or arm). Select a server type by its numeric id, for example `hetzner.serverType(id: 22)`. The `deprecated` flag and `locations` report where the type can still be provisioned and whether Hetzner has scheduled it for removal.","private":true,"min_provider_version":"13.0.1","defaults":"id name cores memory","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.serverType.location":{"id":"hetzner.serverType.location","name":"hetzner.serverType.location","fields":{"available":{"name":"available","type":"\u0004","is_mandatory":true,"title":"Whether new servers of this type can be created in this location","provider":"go.mondoo.com/mql/providers/hetzner"},"deprecation":{"name":"deprecation","type":"\n","is_mandatory":true,"title":"Deprecation schedule","desc":"Present only when the server type is deprecated in this location. Keys: `announced` (timestamp the deprecation was announced) and `unavailableAfter` (timestamp after which new servers of this type can no longer be created). Empty when the type is not deprecated here.","provider":"go.mondoo.com/mql/providers/hetzner"},"location":{"name":"location","type":"\u001bhetzner.location","title":"Hetzner location where the server type is offered","provider":"go.mondoo.com/mql/providers/hetzner"},"locationId":{"name":"locationId","type":"\u0005","is_mandatory":true,"title":"Location ID","desc":"Deprecated in favor of location.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"recommended":{"name":"recommended","type":"\u0004","is_mandatory":true,"title":"Whether Hetzner recommends this server type in this location","provider":"go.mondoo.com/mql/providers/hetzner"},"serverType":{"name":"serverType","type":"\u001bhetzner.serverType","title":"Server type offered in this location","min_provider_version":"13.7.6","provider":"go.mondoo.com/mql/providers/hetzner"},"serverTypeId":{"name":"serverTypeId","type":"\u0005","is_mandatory":true,"title":"Parent server type ID","desc":"Deprecated in favor of serverType.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"}},"title":"Hetzner Cloud server type availability in a single location","private":true,"min_provider_version":"13.0.1","defaults":"available recommended","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.sshKey":{"id":"hetzner.sshKey","name":"hetzner.sshKey","fields":{"algorithm":{"name":"algorithm","type":"\u0007","is_mandatory":true,"title":"Key algorithm parsed from the public key","desc":"The key type as it appears in the public key, for example ssh-ed25519, ssh-rsa, ecdsa-sha2-nistp256, or ssh-dss. Empty when the public key cannot be parsed.","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"bits":{"name":"bits","type":"\u0005","is_mandatory":true,"title":"Key size in bits parsed from the public key","desc":"The modulus size for RSA/DSA keys or the curve size for ECDSA keys. Ed25519 keys report 256. 0 when the public key cannot be parsed or the size cannot be determined.","min_provider_version":"13.5.2","provider":"go.mondoo.com/mql/providers/hetzner"},"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"fingerprint":{"name":"fingerprint","type":"\u0007","is_mandatory":true,"title":"SHA256 fingerprint","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"SSH key ID","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Key name","provider":"go.mondoo.com/mql/providers/hetzner"},"publicKey":{"name":"publicKey","type":"\u0007","is_mandatory":true,"title":"Public key content","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud SSH key","desc":"SSH public key registered on a Hetzner Cloud project and available to inject into new servers at creation time, granting whoever holds the matching private key root-level access. Auditing these keys shows which credentials can be provisioned onto infrastructure, and the algorithm and bits fields let you flag weak or deprecated key types (for example short RSA keys or ssh-dss). Select a single key by its numeric id, for example hetzner.sshKey(id: 12345).","private":true,"min_provider_version":"13.0.1","defaults":"id name fingerprint","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.storageBox":{"id":"hetzner.storageBox","name":"hetzner.storageBox","fields":{"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Storage Box ID","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"location":{"name":"location","type":"\u001bhetzner.location","title":"Location of the Storage Box","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Storage Box name","provider":"go.mondoo.com/mql/providers/hetzner"},"protection":{"name":"protection","type":"\n","is_mandatory":true,"title":"Resource protection (delete)","provider":"go.mondoo.com/mql/providers/hetzner"},"reachableExternally":{"name":"reachableExternally","type":"\u0004","is_mandatory":true,"title":"Whether the Storage Box is reachable from outside the Hetzner network","provider":"go.mondoo.com/mql/providers/hetzner"},"sambaEnabled":{"name":"sambaEnabled","type":"\u0004","is_mandatory":true,"title":"Whether the Samba/CIFS protocol is enabled","provider":"go.mondoo.com/mql/providers/hetzner"},"server":{"name":"server","type":"\u0007","is_mandatory":true,"title":"Storage system hostname serving the Storage Box","provider":"go.mondoo.com/mql/providers/hetzner"},"size":{"name":"size","type":"\u0005","is_mandatory":true,"title":"Total used size in bytes","provider":"go.mondoo.com/mql/providers/hetzner"},"sizeData":{"name":"sizeData","type":"\u0005","is_mandatory":true,"title":"Used size of stored data in bytes","provider":"go.mondoo.com/mql/providers/hetzner"},"sizeSnapshots":{"name":"sizeSnapshots","type":"\u0005","is_mandatory":true,"title":"Used size of snapshots in bytes","provider":"go.mondoo.com/mql/providers/hetzner"},"snapshot":{"name":"snapshot","type":"\u001bhetzner.storageBox.snapshot","title":"Hetzner Cloud Storage Box snapshot","desc":"Point-in-time copy of a Storage Box used for backup and recovery. The isAutomatic flag distinguishes snapshots created by the automated snapshot plan from manual ones, while size and sizeFilesystem report the space the snapshot occupies and the filesystem size captured at that moment. Review these to verify backup coverage and retention.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"snapshotPlan":{"name":"snapshotPlan","type":"\n","is_mandatory":true,"title":"Automated snapshot plan {maxSnapshots, minute, hour, dayOfWeek, dayOfMonth}; empty if no plan is configured","provider":"go.mondoo.com/mql/providers/hetzner"},"snapshots":{"name":"snapshots","type":"\u0019\u001bhetzner.storageBox.snapshot","title":"Snapshots of the Storage Box","provider":"go.mondoo.com/mql/providers/hetzner"},"sshEnabled":{"name":"sshEnabled","type":"\u0004","is_mandatory":true,"title":"Whether SSH/SFTP access is enabled","provider":"go.mondoo.com/mql/providers/hetzner"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Status (active, initializing, locked)","provider":"go.mondoo.com/mql/providers/hetzner"},"storageBoxType":{"name":"storageBoxType","type":"\u001bhetzner.storageBoxType","title":"Storage Box type (storage tier)","provider":"go.mondoo.com/mql/providers/hetzner"},"subaccount":{"name":"subaccount","type":"\u001bhetzner.storageBox.subaccount","title":"Hetzner Cloud Storage Box subaccount","desc":"Independent set of credentials scoped to a subdirectory of a Storage Box, with its own access controls. The homeDirectory limits which files the subaccount can reach, readonly blocks writes, and the per-protocol toggles (sambaEnabled, sshEnabled, webdavEnabled) together with reachableExternally govern how and from where the credentials can be used. Audit these to catch over-broad or externally reachable access grants.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"subaccounts":{"name":"subaccounts","type":"\u0019\u001bhetzner.storageBox.subaccount","title":"Subaccounts with independent credentials and access settings","provider":"go.mondoo.com/mql/providers/hetzner"},"system":{"name":"system","type":"\u0007","is_mandatory":true,"title":"Underlying storage system identifier","provider":"go.mondoo.com/mql/providers/hetzner"},"username":{"name":"username","type":"\u0007","is_mandatory":true,"title":"Login username","provider":"go.mondoo.com/mql/providers/hetzner"},"webdavEnabled":{"name":"webdavEnabled","type":"\u0004","is_mandatory":true,"title":"Whether the WebDAV protocol is enabled","provider":"go.mondoo.com/mql/providers/hetzner"},"zfsEnabled":{"name":"zfsEnabled","type":"\u0004","is_mandatory":true,"title":"Whether ZFS snapshot directories are exposed","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud Storage Box (managed backup/file storage)","desc":"Managed backup and file-storage volume with its own login credentials and network access controls. The enabled access protocols (sambaEnabled, sshEnabled, webdavEnabled, zfsEnabled), whether the box is reachableExternally beyond the Hetzner network, the automated snapshotPlan, and delete protection together describe its exposure and data-retention posture. Subaccounts carry independent credentials and access scopes, and snapshots capture point-in-time copies. Select a Storage Box by id, for example `hetzner.storageBox(id: 42)`.","private":true,"min_provider_version":"13.4.2","defaults":"id name status","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.storageBox.snapshot":{"id":"hetzner.storageBox.snapshot","name":"hetzner.storageBox.snapshot","fields":{"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Description","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Snapshot ID","provider":"go.mondoo.com/mql/providers/hetzner"},"isAutomatic":{"name":"isAutomatic","type":"\u0004","is_mandatory":true,"title":"Whether the snapshot was created automatically by the snapshot plan","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Snapshot name","provider":"go.mondoo.com/mql/providers/hetzner"},"size":{"name":"size","type":"\u0005","is_mandatory":true,"title":"Snapshot size in bytes","provider":"go.mondoo.com/mql/providers/hetzner"},"sizeFilesystem":{"name":"sizeFilesystem","type":"\u0005","is_mandatory":true,"title":"Size of the filesystem at snapshot time in bytes","provider":"go.mondoo.com/mql/providers/hetzner"},"storageBox":{"name":"storageBox","type":"\u001bhetzner.storageBox","title":"Storage Box the snapshot was taken from","min_provider_version":"13.7.6","provider":"go.mondoo.com/mql/providers/hetzner"},"storageBoxId":{"name":"storageBoxId","type":"\u0005","is_mandatory":true,"title":"Parent Storage Box ID","desc":"Deprecated in favor of storageBox.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"}},"title":"Hetzner Cloud Storage Box snapshot","desc":"Point-in-time copy of a Storage Box used for backup and recovery. The isAutomatic flag distinguishes snapshots created by the automated snapshot plan from manual ones, while size and sizeFilesystem report the space the snapshot occupies and the filesystem size captured at that moment. Review these to verify backup coverage and retention.","private":true,"min_provider_version":"13.4.2","defaults":"id name created","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.storageBox.subaccount":{"id":"hetzner.storageBox.subaccount","name":"hetzner.storageBox.subaccount","fields":{"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Description","provider":"go.mondoo.com/mql/providers/hetzner"},"homeDirectory":{"name":"homeDirectory","type":"\u0007","is_mandatory":true,"title":"Home directory the subaccount is scoped to","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Subaccount ID","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Subaccount name","provider":"go.mondoo.com/mql/providers/hetzner"},"reachableExternally":{"name":"reachableExternally","type":"\u0004","is_mandatory":true,"title":"Whether the subaccount is reachable from outside the Hetzner network","provider":"go.mondoo.com/mql/providers/hetzner"},"readonly":{"name":"readonly","type":"\u0004","is_mandatory":true,"title":"Whether the subaccount has read-only access","provider":"go.mondoo.com/mql/providers/hetzner"},"sambaEnabled":{"name":"sambaEnabled","type":"\u0004","is_mandatory":true,"title":"Whether the Samba/CIFS protocol is enabled","provider":"go.mondoo.com/mql/providers/hetzner"},"server":{"name":"server","type":"\u0007","is_mandatory":true,"title":"Storage system hostname serving the subaccount","provider":"go.mondoo.com/mql/providers/hetzner"},"sshEnabled":{"name":"sshEnabled","type":"\u0004","is_mandatory":true,"title":"Whether SSH/SFTP access is enabled","provider":"go.mondoo.com/mql/providers/hetzner"},"storageBox":{"name":"storageBox","type":"\u001bhetzner.storageBox","title":"Storage Box the subaccount grants access to","min_provider_version":"13.7.6","provider":"go.mondoo.com/mql/providers/hetzner"},"storageBoxId":{"name":"storageBoxId","type":"\u0005","is_mandatory":true,"title":"Parent Storage Box ID","desc":"Deprecated in favor of storageBox.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"username":{"name":"username","type":"\u0007","is_mandatory":true,"title":"Login username","provider":"go.mondoo.com/mql/providers/hetzner"},"webdavEnabled":{"name":"webdavEnabled","type":"\u0004","is_mandatory":true,"title":"Whether the WebDAV protocol is enabled","provider":"go.mondoo.com/mql/providers/hetzner"}},"title":"Hetzner Cloud Storage Box subaccount","desc":"Independent set of credentials scoped to a subdirectory of a Storage Box, with its own access controls. The homeDirectory limits which files the subaccount can reach, readonly blocks writes, and the per-protocol toggles (sambaEnabled, sshEnabled, webdavEnabled) together with reachableExternally govern how and from where the credentials can be used. Audit these to catch over-broad or externally reachable access grants.","private":true,"min_provider_version":"13.4.2","defaults":"id username","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.storageBoxType":{"id":"hetzner.storageBoxType","name":"hetzner.storageBoxType","fields":{"automaticSnapshotLimit":{"name":"automaticSnapshotLimit","type":"\u0005","is_mandatory":true,"title":"Maximum number of automatic snapshots (0 when unlimited/unset)","provider":"go.mondoo.com/mql/providers/hetzner"},"deprecated":{"name":"deprecated","type":"\t","is_mandatory":true,"title":"Deprecation timestamp (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Human-readable description","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Storage Box type ID","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Slug name (bx11, bx21, ...)","provider":"go.mondoo.com/mql/providers/hetzner"},"size":{"name":"size","type":"\u0005","is_mandatory":true,"title":"Included storage size in bytes","provider":"go.mondoo.com/mql/providers/hetzner"},"snapshotLimit":{"name":"snapshotLimit","type":"\u0005","is_mandatory":true,"title":"Maximum number of manual snapshots (0 when unlimited/unset)","provider":"go.mondoo.com/mql/providers/hetzner"},"subaccountsLimit":{"name":"subaccountsLimit","type":"\u0005","is_mandatory":true,"title":"Maximum number of subaccounts","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud Storage Box type (storage tier)","desc":"Storage tier available for Hetzner Cloud Storage Boxes, defining the included capacity and the limits that apply to boxes of this tier: how many manual snapshots, automatic snapshots, and subaccounts are permitted. Select a type by `id` (for example hetzner.storageBoxType(id: 42)) to inspect its `size`, its snapshot and subaccount limits, and whether the tier has been deprecated. Useful for confirming which tier a Storage Box runs on and what capacity and snapshot headroom that tier provides.","private":true,"min_provider_version":"13.4.2","defaults":"id name size","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.volume":{"id":"hetzner.volume","name":"hetzner.volume","fields":{"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"format":{"name":"format","type":"\u0007","is_mandatory":true,"title":"Filesystem format (ext4, xfs, \"\")","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Volume ID","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"linuxDevice":{"name":"linuxDevice","type":"\u0007","is_mandatory":true,"title":"Linux device path (e.g., /dev/disk/by-id/scsi-0HC_Volume_...)","provider":"go.mondoo.com/mql/providers/hetzner"},"location":{"name":"location","type":"\u001bhetzner.location","title":"Location of the volume","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Volume name","provider":"go.mondoo.com/mql/providers/hetzner"},"protection":{"name":"protection","type":"\n","is_mandatory":true,"title":"Volume protection settings","desc":"The `delete` key (bool) is true when the volume is protected from deletion.","provider":"go.mondoo.com/mql/providers/hetzner"},"server":{"name":"server","type":"\u001bhetzner.server","title":"Server the volume is attached to (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"size":{"name":"size","type":"\u0005","is_mandatory":true,"title":"Size in GB","provider":"go.mondoo.com/mql/providers/hetzner"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Status (creating, available)","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud block storage volume","desc":"A network-attached block storage volume in a Hetzner Cloud project, selected by its numeric `id`, for example `hetzner.volume(id: 12345)`. Reports capacity, attachment state, filesystem format, deletion protection, and the server the volume is currently mounted on, so audits can flag unattached volumes, oversized allocations, or volumes left without deletion protection.","private":true,"min_provider_version":"13.0.1","defaults":"id name size","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.zone":{"id":"hetzner.zone","name":"hetzner.zone","fields":{"assignedNameservers":{"name":"assignedNameservers","type":"\u0019\u0007","is_mandatory":true,"title":"Nameservers assigned by Hetzner for this zone","provider":"go.mondoo.com/mql/providers/hetzner"},"created":{"name":"created","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/hetzner"},"delegatedNameservers":{"name":"delegatedNameservers","type":"\u0019\u0007","is_mandatory":true,"title":"Nameservers the domain currently delegates to","provider":"go.mondoo.com/mql/providers/hetzner"},"delegationLastCheck":{"name":"delegationLastCheck","type":"\t","is_mandatory":true,"title":"Last time delegation was checked (nullable)","provider":"go.mondoo.com/mql/providers/hetzner"},"delegationStatus":{"name":"delegationStatus","type":"\u0007","is_mandatory":true,"title":"Delegation status (valid, partially-valid, invalid, lame, unregistered, unknown)","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0005","is_mandatory":true,"title":"Zone ID","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"mode":{"name":"mode","type":"\u0007","is_mandatory":true,"title":"Mode (primary, secondary)","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Zone name (the domain)","provider":"go.mondoo.com/mql/providers/hetzner"},"primaryNameservers":{"name":"primaryNameservers","type":"\u0019\n","is_mandatory":true,"title":"Primary nameservers a secondary zone transfers from","desc":"Each entry is a dict with `address`, `port`, `tsigAlgorithm`, and `tsigConfigured`. When `tsigConfigured` is false, the zone transfer from that primary is not authenticated with a TSIG key. The key itself is a shared secret and is never exposed as queryable data. Empty for primary zones, which serve their own data rather than transferring it.","provider":"go.mondoo.com/mql/providers/hetzner"},"protection":{"name":"protection","type":"\n","is_mandatory":true,"title":"Resource protection (delete)","provider":"go.mondoo.com/mql/providers/hetzner"},"recordCount":{"name":"recordCount","type":"\u0005","is_mandatory":true,"title":"Number of records in the zone","provider":"go.mondoo.com/mql/providers/hetzner"},"registrar":{"name":"registrar","type":"\u0007","is_mandatory":true,"title":"Registrar managing the domain (hetzner, other, unknown)","provider":"go.mondoo.com/mql/providers/hetzner"},"rrset":{"name":"rrset","type":"\u001bhetzner.zone.rrset","title":"Hetzner Cloud DNS resource record set","desc":"Group of DNS records sharing one name and type within a zone, such as every A record for `www` or the MX records at the domain apex. The `id` combines the record name and type, and `records` holds the individual values with their optional comments. Use it to inventory the DNS data published for a domain and to confirm change protection on sensitive record sets.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"rrsets":{"name":"rrsets","type":"\u0019\u001bhetzner.zone.rrset","title":"Resource records grouped by name and type","provider":"go.mondoo.com/mql/providers/hetzner"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Status (ok, updating, error)","provider":"go.mondoo.com/mql/providers/hetzner"},"ttl":{"name":"ttl","type":"\u0005","is_mandatory":true,"title":"Default TTL for records in seconds","provider":"go.mondoo.com/mql/providers/hetzner"}},"init":{"args":[{"name":"id","type":"\u0005","optional":true}]},"title":"Hetzner Cloud DNS zone","desc":"DNS zone hosted on Hetzner's authoritative nameservers, covering a single domain and all of its resource records. Auditing a zone reveals whether the domain is correctly delegated to Hetzner, who registers it, how many records it holds, and whether delete protection is in place. Zones are listed through `hetzner.zones` or selected by numeric `id`. Comparing `assignedNameservers` (what Hetzner expects) against `delegatedNameservers` (what the domain currently points at), together with `delegationStatus`, surfaces broken or lame delegations, and `rrsets` exposes the individual record sets published in the zone.","private":true,"min_provider_version":"13.4.2","defaults":"id name mode status","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.zone.rrset":{"id":"hetzner.zone.rrset","name":"hetzner.zone.rrset","fields":{"entries":{"name":"entries","type":"\u0019\u001bhetzner.zone.rrset.record","title":"Values in the record set and the project resources they point at","min_provider_version":"13.7.7","provider":"go.mondoo.com/mql/providers/hetzner"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Record set ID (name/type)","provider":"go.mondoo.com/mql/providers/hetzner"},"labels":{"name":"labels","type":"\u001a\u0007\u0007","is_mandatory":true,"title":"User-defined labels for organizing the resource","provider":"go.mondoo.com/mql/providers/hetzner"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Record name relative to the zone (e.g., \"@\", \"www\")","provider":"go.mondoo.com/mql/providers/hetzner"},"protection":{"name":"protection","type":"\n","is_mandatory":true,"title":"Resource protection (change)","provider":"go.mondoo.com/mql/providers/hetzner"},"record":{"name":"record","type":"\u001bhetzner.zone.rrset.record","title":"DNS record within a record set","desc":"Single value inside a record set together with the project resources it points at. For address records the value is matched against every public IPv4 and IPv6 address the project holds, which surfaces names that still resolve to an address the project no longer owns. Record types that carry no address report null for the target fields.","is_private":true,"provider":"go.mondoo.com/mql/providers/hetzner","is_implicit_resource":true},"records":{"name":"records","type":"\u0019\n","is_mandatory":true,"title":"Records in the set [{value, comment}]","desc":"Deprecated in favor of entries.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"},"ttl":{"name":"ttl","type":"\u0005","is_mandatory":true,"title":"TTL in seconds (0 when the record falls back to the zone default)","provider":"go.mondoo.com/mql/providers/hetzner"},"type":{"name":"type","type":"\u0007","is_mandatory":true,"title":"Record type (A, AAAA, CNAME, MX, TXT, NS, CAA, DS, ...)","provider":"go.mondoo.com/mql/providers/hetzner"},"zone":{"name":"zone","type":"\u001bhetzner.zone","title":"Zone the record set belongs to","provider":"go.mondoo.com/mql/providers/hetzner"},"zoneId":{"name":"zoneId","type":"\u0005","is_mandatory":true,"title":"Parent zone ID","desc":"Deprecated in favor of zone.","provider":"go.mondoo.com/mql/providers/hetzner","maturity":"deprecated"}},"title":"Hetzner Cloud DNS resource record set","desc":"Group of DNS records sharing one name and type within a zone, such as every A record for `www` or the MX records at the domain apex. The `id` combines the record name and type, and `records` holds the individual values with their optional comments. Use it to inventory the DNS data published for a domain and to confirm change protection on sensitive record sets.","private":true,"min_provider_version":"13.4.2","defaults":"name type","provider":"go.mondoo.com/mql/providers/hetzner"},"hetzner.zone.rrset.record":{"id":"hetzner.zone.rrset.record","name":"hetzner.zone.rrset.record","fields":{"comment":{"name":"comment","type":"\u0007","is_mandatory":true,"title":"Free-form comment stored alongside the record","provider":"go.mondoo.com/mql/providers/hetzner"},"floatingIps":{"name":"floatingIps","type":"\u0019\u001bhetzner.floatingIp","title":"Floating IPs holding the address","provider":"go.mondoo.com/mql/providers/hetzner"},"loadBalancers":{"name":"loadBalancers","type":"\u0019\u001bhetzner.loadBalancer","title":"Load balancers holding the address","provider":"go.mondoo.com/mql/providers/hetzner"},"primaryIps":{"name":"primaryIps","type":"\u0019\u001bhetzner.primaryIp","title":"Primary IPs holding the address","provider":"go.mondoo.com/mql/providers/hetzner"},"rrset":{"name":"rrset","type":"\u001bhetzner.zone.rrset","title":"Record set the value belongs to","provider":"go.mondoo.com/mql/providers/hetzner"},"servers":{"name":"servers","type":"\u0019\u001bhetzner.server","title":"Servers holding the address","provider":"go.mondoo.com/mql/providers/hetzner"},"targetsProjectResource":{"name":"targetsProjectResource","type":"\u0004","title":"Whether the value matches a public address the project holds","desc":"Null on record types that carry no address. False on an A or AAAA record means no server, primary IP, floating IP, or load balancer in the project holds the address. A record can legitimately point outside the project, at a dedicated Robot server or an external host, so false marks a candidate for review rather than a finding.","provider":"go.mondoo.com/mql/providers/hetzner"},"value":{"name":"value","type":"\u0007","is_mandatory":true,"title":"Record value, an IPv4 or IPv6 address for A and AAAA records","provider":"go.mondoo.com/mql/providers/hetzner"}},"title":"DNS record within a record set","desc":"Single value inside a record set together with the project resources it points at. For address records the value is matched against every public IPv4 and IPv6 address the project holds, which surfaces names that still resolve to an address the project no longer owns. Record types that carry no address report null for the target fields.","private":true,"min_provider_version":"13.7.7","defaults":"value targetsProjectResource","provider":"go.mondoo.com/mql/providers/hetzner"}}}