action hetzner_get_servers_id { label: "Get a Server" description: "Returns a specific Server object. The Server must exist inside the Project" provider: hetzner method: GET path: "/servers/{id}" encoding: json input: { type: "object" properties: { id: { type: "integer" } } required: ["id"] additionalProperties: false } output: { type: "object" properties: { server: { type: "object" required: ["backup_window", "created", "datacenter", "id", "image", "included_traffic", "ingoing_traffic", "iso", "labels", "locked", "name", "outgoing_traffic", "primary_disk_size", "private_net", "protection", "public_net", "rescue_enabled", "server_type", "status"] properties: { backup_window: { type: "string" description: "Time window (UTC) in which the backup will run, or null if the backups are not enabled" } created: { type: "string" description: "Point in time when the Resource was created (in ISO-8601 format)" } datacenter: { type: "object" description: "Datacenter this Resource is located at" required: ["description", "id", "location", "name", "server_types"] properties: { description: { type: "string" description: "Description of the Datacenter" } id: { type: "integer" description: "ID of the Resource" } location: { type: "object" required: ["city", "country", "description", "id", "latitude", "longitude", "name", "network_zone"] properties: { city: { type: "string" description: "City the Location is closest to" } country: { type: "string" description: "ISO 3166-1 alpha-2 code of the country the Location resides in" } description: { type: "string" description: "Description of the Location" } id: { type: "number" description: "ID of the Location" } latitude: { type: "number" description: "Latitude of the city closest to the Location" } longitude: { type: "number" description: "Longitude of the city closest to the Location" } name: { type: "string" description: "Unique identifier of the Location" } network_zone: { type: "string" description: "Name of network zone this Location resides in" } } } name: { type: "string" description: "Unique identifier of the Datacenter" } server_types: { type: "object" description: "The Server types the Datacenter can handle" required: ["available", "available_for_migration", "supported"] properties: { available: { type: "array" description: "IDs of Server types that are supported and for which the Datacenter has enough resources left" items: { type: "number" } } available_for_migration: { type: "array" description: "IDs of Server types that are supported and for which the Datacenter has enough resources left" items: { type: "number" } } supported: { type: "array" description: "IDs of Server types that are supported in the Datacenter" items: { type: "number" } } } } } } id: { type: "integer" description: "ID of the Resource" } image: { type: "object" required: ["bound_to", "created", "created_from", "deleted", "deprecated", "description", "disk_size", "id", "image_size", "labels", "name", "os_flavor", "os_version", "protection", "status", "type"] properties: { bound_to: { type: "integer" description: "ID of Server the Image is bound to. Only set for Images of type `backup`." } created: { type: "string" description: "Point in time when the Resource was created (in ISO-8601 format)" } created_from: { type: "object" description: "Information about the Server the Image was created from" required: ["id", "name"] properties: { id: { type: "integer" description: "ID of the Server the Image was created from" } name: { type: "string" description: "Server name at the time the Image was created" } } } deleted: { type: "string" description: "Point in time where the Image was deleted (in ISO-8601 format)" } deprecated: { type: "string" description: "Point in time when the Image is considered to be deprecated (in ISO-8601 format)" } description: { type: "string" description: "Description of the Image" } disk_size: { type: "number" description: "Size of the disk contained in the Image in GB" } id: { type: "integer" description: "ID of the Resource" } image_size: { type: "number" description: "Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image." } labels: { type: "object" description: "User-defined labels (key-value pairs)" } name: { type: "string" description: "Unique identifier of the Image. This value is only set for system Images." } os_flavor: { type: "string" description: "Flavor of operating system contained in the Image" enum: ["ubuntu", "centos", "debian", "fedora", "unknown"] } os_version: { type: "string" description: "Operating system version" } protection: { type: "object" description: "Protection configuration for the Resource" required: ["delete"] properties: { delete: { type: "boolean" description: "If true, prevents the Resource from being deleted" } } } rapid_deploy: { type: "boolean" description: "Indicates that rapid deploy of the Image is available" } status: { type: "string" description: "Whether the Image can be used or if it's still being created or unavailable" enum: ["available", "creating", "unavailable"] } type: { type: "string" description: "Type of the Image" enum: ["system", "app", "snapshot", "backup", "temporary"] } } } included_traffic: { type: "number" description: "Free Traffic for the current billing period in bytes" } ingoing_traffic: { type: "number" description: "Inbound Traffic for the current billing period in bytes" } iso: { type: "object" description: "ISO Image that is attached to this Server. Null if no ISO is attached." required: ["deprecated", "description", "id", "name", "type"] properties: { deprecated: { type: "string" description: "ISO 8601 timestamp of deprecation, null if ISO is still available. After the deprecation time it will no longer be possible to attach the ISO to Servers." } description: { type: "string" description: "Description of the ISO" } id: { type: "integer" description: "ID of the Resource" } name: { type: "string" description: "Unique identifier of the ISO. Only set for public ISOs" } type: { type: "string" description: "Type of the ISO" enum: ["public", "private"] } } } labels: { type: "object" description: "User-defined labels (key-value pairs)" } load_balancers: { type: "array" items: { type: "integer" } } locked: { type: "boolean" description: "True if Server has been locked and is not available to user" } name: { type: "string" description: "Name of the Server (must be unique per Project and a valid hostname as per RFC 1123)" } outgoing_traffic: { type: "number" description: "Outbound Traffic for the current billing period in bytes" } placement_group: { type: "object" required: ["created", "id", "labels", "name", "servers", "type"] properties: { created: { type: "string" description: "Point in time when the Resource was created (in ISO-8601 format)" } id: { type: "integer" description: "ID of the Resource" } labels: { type: "object" description: "User-defined labels (key-value pairs)" } name: { type: "string" description: "Name of the Resource. Must be unique per Project." } servers: { type: "array" description: "Array of IDs of Servers that are part of this Placement Group" items: { type: "integer" } } type: { type: "string" description: "Type of the Placement Group" enum: ["spread"] } } } primary_disk_size: { type: "number" description: "Size of the primary Disk" } private_net: { type: "array" description: "Private networks information" items: { type: "object" properties: { alias_ips: { type: "array" items: { type: "string" } } ip: { type: "string" } mac_address: { type: "string" } network: { type: "integer" } } } } protection: { type: "object" description: "Protection configuration for the Server" required: ["delete", "rebuild"] properties: { delete: { type: "boolean" description: "If true, prevents the Server from being deleted" } rebuild: { type: "boolean" description: "If true, prevents the Server from being rebuilt" } } } public_net: { type: "object" description: "Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`" required: ["floating_ips", "ipv4", "ipv6"] properties: { firewalls: { type: "array" description: "Firewalls applied to the public network interface of this Server" items: { type: "object" properties: { id: { type: "integer" description: "ID of the Resource" } status: { type: "string" description: "Status of the Firewall on the Server" enum: ["applied", "pending"] } } } } floating_ips: { type: "array" description: "IDs of Floating IPs assigned to this Server" items: { type: "integer" } } ipv4: { type: "object" description: "IP address (v4) and its reverse DNS entry of this Server" required: ["blocked", "dns_ptr", "ip"] properties: { blocked: { type: "boolean" description: "If the IP is blocked by our anti abuse dept" } dns_ptr: { type: "string" description: "Reverse DNS PTR entry for the IPv4 addresses of this Server" } id: { type: "integer" description: "ID of the Resource" } ip: { type: "string" description: "IP address (v4) of this Server" } } } ipv6: { type: "object" description: "IPv6 network assigned to this Server and its reverse DNS entry" required: ["blocked", "dns_ptr", "ip"] properties: { blocked: { type: "boolean" description: "If the IP is blocked by our anti abuse dept" } dns_ptr: { type: "array" description: "Reverse DNS PTR entries for the IPv6 addresses of this Server, `null` by default" items: { type: "object" required: ["ip", "dns_ptr"] properties: { dns_ptr: { type: "string" description: "DNS pointer for the specific IP address" } ip: { type: "string" description: "Single IPv6 address of this Server for which the reverse DNS entry has been set up" } } } } id: { type: "integer" description: "ID of the Resource" } ip: { type: "string" description: "IP address (v6) of this Server" } } } } } rescue_enabled: { type: "boolean" description: "True if rescue mode is enabled. Server will then boot into rescue system on next reboot" } server_type: { type: "object" description: "Type of Server - determines how much ram, disk and cpu a Server has" required: ["cores", "cpu_type", "deprecated", "description", "disk", "id", "memory", "name", "prices", "storage_type"] properties: { cores: { type: "number" description: "Number of cpu cores a Server of this type will have" } cpu_type: { type: "string" description: "Type of cpu" enum: ["shared", "dedicated"] } deprecated: { type: "boolean" description: "True if Server type is deprecated" } description: { type: "string" description: "Description of the Server type" } disk: { type: "number" description: "Disk size a Server of this type will have in GB" } id: { type: "integer" description: "ID of the Server type" } memory: { type: "number" description: "Memory a Server of this type will have in GB" } name: { type: "string" description: "Unique identifier of the Server type" } prices: { type: "array" description: "Prices in different Locations" items: { type: "object" required: ["location", "price_hourly", "price_monthly"] properties: { location: { type: "string" description: "Name of the Location the price is for" } price_hourly: { type: "object" description: "Hourly costs for a Server type in this Location" required: ["net", "gross"] properties: { gross: { type: "string" description: "Price with VAT added" } net: { type: "string" description: "Price without VAT" } } } price_monthly: { type: "object" description: "Monthly costs for a Server type in this Location" required: ["net", "gross"] properties: { gross: { type: "string" description: "Price with VAT added" } net: { type: "string" description: "Price without VAT" } } } } } } storage_type: { type: "string" description: "Type of Server boot drive. Local has higher speed. Network has better availability." enum: ["local", "network"] } } } status: { type: "string" description: "Status of the Server" enum: ["running", "initializing", "starting", "stopping", "off", "deleting", "migrating", "rebuilding", "unknown"] } volumes: { type: "array" description: "IDs of Volumes assigned to this Server" items: { type: "integer" } } } } } } }