sc_crawler.vendors._hcloud
Functions:
- inventory_compliance_frameworks – Manual list of known compliance frameworks at Hetzner.
- inventory_regions – List all regions via API call.
- inventory_zones – List all regions as availability zones.
- inventory_servers – List all server types from API and manual data entry from the Hetzner Cloud homepage.
- inventory_server_prices_spot – There are no spot instaces at Hetzner.
- inventory_storages – Block storage volume information collected manually.
- inventory_storage_prices – Block storage volume pricing information collected manually.
- inventory_traffic_prices – Traffic price collected manually.
- inventory_ipv4_prices – IPv4 price collected manually.
- inventory_databases – Hetzner Cloud does not offer managed PostgreSQL.
func inventory_compliance_frameworks
inventory_compliance_frameworks(vendor)
Manual list of known compliance frameworks at Hetzner.
Data collected from https://www.hetzner.com/unternehmen/zertifizierung.
func inventory_regions
inventory_regions(vendor)
List all regions via API call.
Hetzner Cloud uses integers for the region (virtual datacenter) id
that we convert into string. Best to use the unique name, which
can be also passed instead of the id in most hcloud API
endpoints via the id_or_name method.
Not taking the Hetzner unique name as id, as it's not
stated to be unique for other resources, and uniqueness
for servers might also change in the future.
All regions are powered by green energy as per https://www.hetzner.com/unternehmen/umweltschutz/.
Lon/lat coordinates were collected by searching for Hetzner locations in the Region's city.
func inventory_zones
inventory_zones(vendor)
List all regions as availability zones.
There is no concept of having multiple availability zones withing a region (virtual datacenter) at Hetzner Cloud, so creating 1-1 dummy Zones reusing the Region id and name.
func inventory_servers
inventory_servers(vendor)
List all server types from API and manual data entry from the Hetzner Cloud homepage.
CPU information is recorded from https://www.hetzner.com/cloud/ as not exposed via API.
Lifecycle (per-location server type fields): deprecation.unavailable_after in
past -> RETIRED, deprecation present -> PLANNED_FOR_RETIREMENT,
available is False or empty locations -> INACTIVE, otherwise ACTIVE.
See _hcloud_server_status.
func inventory_server_prices_spot
inventory_server_prices_spot(vendor)
There are no spot instaces at Hetzner.
func inventory_storages
inventory_storages(vendor)
Block storage volume information collected manually.
There is not information shared vie the API, so information was collected manually from:
func inventory_storage_prices
inventory_storage_prices(vendor)
Block storage volume pricing information collected manually.
Source: https://www.hetzner.com/cloud/block-storage/
func inventory_traffic_prices
inventory_traffic_prices(vendor)
Traffic price collected manually.
Source: https://docs.hetzner.com/robot/general/traffic/
func inventory_ipv4_prices
inventory_ipv4_prices(vendor)
IPv4 price collected manually.
Source: https://docs.hetzner.com/cloud/servers/overview#network-options
func inventory_databases
inventory_databases(vendor)
Hetzner Cloud does not offer managed PostgreSQL.