diff --git a/terraform/prod__firewall.tf b/terraform/hetzner_prod__firewall.tf similarity index 100% rename from terraform/prod__firewall.tf rename to terraform/hetzner_prod__firewall.tf diff --git a/terraform/prod_network.tf b/terraform/hetzner_prod_network.tf similarity index 100% rename from terraform/prod_network.tf rename to terraform/hetzner_prod_network.tf diff --git a/terraform/netbox_cluster.tf b/terraform/netbox_cluster.tf new file mode 100644 index 0000000..8feb26f --- /dev/null +++ b/terraform/netbox_cluster.tf @@ -0,0 +1,14 @@ +resource "netbox_cluster_group" "hetzner" { + description = "Hetzner Cloud Hosts" + name = "hetzner" +} + +resource "netbox_cluster_type" "openstack" { + name = "Openstack" +} + +resource "netbox_cluster" "hetzner_cluster" { + cluster_type_id = netbox_cluster_type.openstack.id + name = "Hetzner Cluster" + cluster_group_id = netbox_cluster_group.hetzner.id +} \ No newline at end of file diff --git a/terraform/terraform.tfstate b/terraform/terraform.tfstate index 0af2c10..0189ab3 100644 --- a/terraform/terraform.tfstate +++ b/terraform/terraform.tfstate @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "1.14.3", - "serial": 10, + "serial": 16, "lineage": "2f42bf18-041f-78d9-24cc-d9a193bc3daf", "outputs": {}, "resources": [ @@ -104,6 +104,78 @@ } ] }, + { + "mode": "managed", + "type": "netbox_cluster", + "name": "hetzner_cluster", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "cluster_group_id": 1, + "cluster_type_id": 1, + "comments": "", + "description": "", + "id": "1", + "location_id": 0, + "name": "Hetzner Cluster", + "region_id": 0, + "site_group_id": 0, + "site_id": 0, + "tags": [], + "tags_all": [], + "tenant_id": 0 + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==", + "dependencies": [ + "netbox_cluster_group.hetzner", + "netbox_cluster_type.openstack" + ] + } + ] + }, + { + "mode": "managed", + "type": "netbox_cluster_group", + "name": "hetzner", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "description": "Hetzner Cloud Hosts", + "id": "1", + "name": "hetzner", + "slug": "hetzner" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "netbox_cluster_type", + "name": "openstack", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "id": "1", + "name": "Openstack", + "slug": "openstack" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, { "mode": "managed", "type": "netbox_ip_range", @@ -120,7 +192,7 @@ "size": 65534, "start_address": "10.0.0.1/16", "status": "active", - "tags": null, + "tags": [], "tags_all": [], "tenant_id": null, "vrf_id": null diff --git a/terraform/terraform.tfstate.backup b/terraform/terraform.tfstate.backup index 863008c..085d5dc 100644 --- a/terraform/terraform.tfstate.backup +++ b/terraform/terraform.tfstate.backup @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "1.14.3", - "serial": 8, + "serial": 14, "lineage": "2f42bf18-041f-78d9-24cc-d9a193bc3daf", "outputs": {}, "resources": [ @@ -95,7 +95,7 @@ "expose_routes_to_vswitch": false, "id": "11773043", "ip_range": "10.0.0.0/16", - "labels": null, + "labels": {}, "name": "prod-network" }, "sensitive_attributes": [], @@ -103,6 +103,105 @@ "private": "bnVsbA==" } ] + }, + { + "mode": "managed", + "type": "netbox_cluster", + "name": "hetzner_cluster", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "cluster_group_id": 1, + "cluster_type_id": 1, + "comments": "", + "description": "", + "id": "1", + "location_id": 0, + "name": "hetzner_openstack_cluster", + "region_id": 0, + "site_group_id": 0, + "site_id": 0, + "tags": null, + "tags_all": [], + "tenant_id": 0 + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==", + "dependencies": [ + "netbox_cluster_group.hetzner", + "netbox_cluster_type.openstack" + ] + } + ] + }, + { + "mode": "managed", + "type": "netbox_cluster_group", + "name": "hetzner", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "description": "Hetzner Cloud Hosts", + "id": "1", + "name": "hetzner", + "slug": "hetzner" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "netbox_cluster_type", + "name": "openstack", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "id": "1", + "name": "Openstack", + "slug": "openstack" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "netbox_ip_range", + "name": "prodnet", + "provider": "provider[\"registry.terraform.io/e-breuninger/netbox\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "description": null, + "end_address": "10.0.255.254/16", + "id": "1", + "role_id": null, + "size": 65534, + "start_address": "10.0.0.1/16", + "status": "active", + "tags": [], + "tags_all": [], + "tenant_id": null, + "vrf_id": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] } ], "check_results": null