action hetzner_post_firewalls_id_actions_apply_to_resources { label: "Apply to Resources" description: "Applies one Firewall to multiple resources.\n\nCurrently servers (public network interface) and label selectors are supported.\n\n#### Call specific error codes\n\n| Code | Description |\n|-------------------------------|---------------------------------------------------------------|\n| `firewall_already_applied` | Firewall was already applied on resource |\n| `incompatible_network_type` | The Network type is incompatible for the given resource |\n| `firewall_resource_not_found` | The resource the Firewall should be attached to was not found |\n" provider: hetzner method: POST path: "/firewalls/{id}/actions/apply_to_resources" encoding: json input: { type: "object" properties: { apply_to: { type: "array" description: "Resources the Firewall should be applied to" items: { type: "object" properties: { label_selector: { type: "object" description: "Configuration for type label_selector, required if type is `label_selector`" required: ["selector"] properties: { selector: { type: "string" description: "Label selector" } } } server: { type: "object" description: "Configuration for type server, required if type is `server`" required: ["id"] properties: { id: { type: "integer" description: "ID of the Server" } } } type: { type: "string" description: "Type of the resource" enum: ["server", "label_selector"] } } } } id: { type: "integer" } } required: ["apply_to", "id"] additionalProperties: false } output: { type: "object" required: ["actions"] properties: { actions: { type: "array" items: { type: "object" required: ["id", "command", "status", "progress", "started", "finished", "resources", "error"] properties: { command: { type: "string" description: "Command executed in the Action" } error: { type: "object" description: "Error message for the Action if error occurred, otherwise null" required: ["code", "message"] properties: { code: { type: "string" description: "Fixed machine readable code" } message: { type: "string" description: "Humanized error message" } } } finished: { type: "string" description: "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null." } id: { type: "integer" description: "ID of the Resource" } progress: { type: "number" description: "Progress of Action in percent" } resources: { type: "array" description: "Resources the Action relates to" items: { type: "object" required: ["id", "type"] properties: { id: { type: "integer" description: "ID of the Resource" } type: { type: "string" description: "Type of resource referenced" } } } } started: { type: "string" description: "Point in time when the Action was started (in ISO-8601 format)" } status: { type: "string" description: "Status of the Action" enum: ["success", "running", "error"] } } } } 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." } } } } } } } }