--- # generated by https://github.com/hashicorp/terraform-plugin-docs page_title: "stackit_affinity_group Resource - stackit" subcategory: "" description: |- Affinity Group schema. Usage with server resource "stackit_affinity_group" "affinity-group" { project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-key-pair" policy = "soft-affinity" } resource "stackit_server" "example-server" { project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-server" boot_volume = { size = 64 source_type = "image" source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } affinity_group = stackit_affinity_group.affinity-group.affinity_group_id availability_zone = "eu01-1" machine_type = "g2i.1" } Policies hard-affinity- All servers launched in this group will be hosted on the same compute node. hard-anti-affinity- All servers launched in this group will be hosted on different compute nodes. soft-affinity- All servers launched in this group will be hosted on the same compute node if possible, but if not possible they still will be scheduled instead of failure. soft-anti-affinity- All servers launched in this group will be hosted on different compute nodes if possible, but if not possible they still will be scheduled instead of failure. --- # stackit_affinity_group (Resource) Affinity Group schema. ### Usage with server ```terraform resource "stackit_affinity_group" "affinity-group" { project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-key-pair" policy = "soft-affinity" } resource "stackit_server" "example-server" { project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-server" boot_volume = { size = 64 source_type = "image" source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } affinity_group = stackit_affinity_group.affinity-group.affinity_group_id availability_zone = "eu01-1" machine_type = "g2i.1" } ``` ### Policies * `hard-affinity`- All servers launched in this group will be hosted on the same compute node. * `hard-anti-affinity`- All servers launched in this group will be hosted on different compute nodes. * `soft-affinity`- All servers launched in this group will be hosted on the same compute node if possible, but if not possible they still will be scheduled instead of failure. * `soft-anti-affinity`- All servers launched in this group will be hosted on different compute nodes if possible, but if not possible they still will be scheduled instead of failure. ## Example Usage ```terraform resource "stackit_affinity_group" "example" { project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-affinity-group-name" policy = "hard-anti-affinity" } # Only use the import statement, if you want to import an existing affinity group import { to = stackit_affinity_group.import-example id = "${var.project_id},${var.region},${var.affinity_group_id}" } ``` ## Schema ### Required - `name` (String) The name of the affinity group. - `policy` (String) The policy of the affinity group. - `project_id` (String) STACKIT Project ID to which the affinity group is associated. ### Optional - `region` (String) The resource region. If not defined, the provider region is used. ### Read-Only - `affinity_group_id` (String) The affinity group ID. - `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`affinity_group_id`". - `members` (List of String) The servers that are part of the affinity group.