action hetzner_get_primary_ips { label: "Get all Primary IPs" description: "Returns all Primary IP objects." provider: hetzner method: GET path: "/primary_ips" encoding: json input: { type: "object" properties: { ip: { type: "string" } label_selector: { type: "string" } name: { type: "string" } sort: { type: "string" enum: ["id", "id:asc", "id:desc", "created", "created:asc", "created:desc"] } } additionalProperties: false } output: { type: "object" required: ["primary_ips"] properties: { meta: { type: "object" required: ["pagination"] properties: { pagination: { type: "object" required: ["last_page", "next_page", "page", "per_page", "previous_page", "total_entries"] properties: { last_page: { type: "number" description: "ID of the last page available. Can be null if the current page is the last one." } next_page: { type: "number" description: "ID of the next page. Can be null if the current page is the last one." } page: { type: "number" description: "Current page number" } per_page: { type: "number" description: "Maximum number of items shown per page in the response" } previous_page: { type: "number" description: "ID of the previous page. Can be null if the current page is the first one." } total_entries: { type: "number" description: "The total number of entries that exist in the database for this query. Nullable if unknown." } } } } } primary_ips: { type: "array" items: { type: "object" required: ["id", "name", "labels", "created", "blocked", "datacenter", "ip", "dns_ptr", "protection", "type", "auto_delete", "assignee_type", "assignee_id"] properties: { assignee_id: { type: "integer" description: "ID of the resource the Primary IP is assigned to, null if it is not assigned at all" } assignee_type: { type: "string" description: "Resource type the Primary IP can be assigned to" enum: ["server"] } auto_delete: { type: "boolean" description: "Delete this Primary IP when the resource it is assigned to is deleted" } blocked: { type: "boolean" description: "Whether the IP is blocked" } created: { type: "string" description: "Point in time when the Resource was created (in ISO-8601 format)" } datacenter: { type: "object" description: "Datacenter this Primary IP is located at" required: ["id", "name", "description", "location", "server_types"] properties: { description: { type: "string" description: "Description of the Datacenter" } id: { type: "integer" description: "ID of the Resource" } location: { type: "object" required: ["id", "name", "description", "country", "city", "latitude", "longitude", "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: ["supported", "available", "available_for_migration"] 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" } } } } } } dns_ptr: { type: "array" description: "Array of reverse DNS entries" 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 IPv4 or IPv6 address" } } } } id: { type: "integer" description: "ID of the Resource" } ip: { type: "string" description: "IP address" } labels: { type: "object" description: "User-defined labels (key-value pairs)" } name: { type: "string" description: "Name of the Resource. Must be unique per Project." } protection: { type: "object" description: "Protection configuration for the Resource" required: ["delete"] properties: { delete: { type: "boolean" description: "If true, prevents the Resource from being deleted" } } } type: { type: "string" description: "Type of the Primary IP" enum: ["ipv4", "ipv6"] } } } } } } }