* deprecate nameservers filed * onboard routed field * onboard new ipv4 fields * onboard new ipv6 fields * update examples * update examples * update examples * remove nameserver(deprecated) mapping * make fields computed * Revert "remove nameserver(deprecated) mapping" This reverts commit e4bf1dc184289f3bddc10c5d3b2320966b529649. * remove routed from update payload (not yet supported) * Update docs/resources/network.md Co-authored-by: João Palet <joao.palet@outlook.com> * Update stackit/internal/services/iaas/network/resource.go Co-authored-by: João Palet <joao.palet@outlook.com> * fix the field descriptions * remove ipv6 from examples * use nameservers as rollback value to support deprecated field * extend acceptance tests * add condition that nameserver and ipv4_nameserver cannot be provided at the same time * extend acc test * improve conditions in create payload * adapt modify plan to support update and delete operations * fix acceptance test * deprecate prefixes and create ipv4_prefixes field * fix unit tests * fix update issues * fix linter issues * extend modifyPlan condition * add validateConfig function * Update stackit/internal/services/iaas/network/resource.go Co-authored-by: João Palet <joao.palet@outlook.com> * Update stackit/internal/services/iaas/network/resource.go Co-authored-by: João Palet <joao.palet@outlook.com> * update descriptions * Update stackit/internal/services/iaas/network/resource.go Co-authored-by: João Palet <joao.palet@outlook.com> * Update stackit/internal/services/iaas/network/resource.go Co-authored-by: João Palet <joao.palet@outlook.com> * implement no_gateway field and condition check * implement no_ipv6_gateway field and condition check * update examples * update examples and descriptions * fix linter issues * Update stackit/internal/services/iaas/network/resource.go Co-authored-by: João Palet <joao.palet@outlook.com> * adapt descriptions * apply acceptance comments * adapt conditions in create and update * add plan modifiers * add requiresReplace --------- Co-authored-by: João Palet <joao.palet@outlook.com>
75 lines
3 KiB
Markdown
75 lines
3 KiB
Markdown
---
|
|
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
|
page_title: "stackit_network Resource - stackit"
|
|
subcategory: ""
|
|
description: |-
|
|
Network resource schema. Must have a region specified in the provider configuration.
|
|
---
|
|
|
|
# stackit_network (Resource)
|
|
|
|
Network resource schema. Must have a `region` specified in the provider configuration.
|
|
|
|
## Example Usage
|
|
|
|
```terraform
|
|
resource "stackit_network" "example_with_name" {
|
|
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
name = "example-with-name"
|
|
}
|
|
|
|
resource "stackit_network" "example_routed_network" {
|
|
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
name = "example-routed-network"
|
|
labels = {
|
|
"key" = "value"
|
|
}
|
|
routed = true
|
|
}
|
|
|
|
resource "stackit_network" "example_non_routed_network" {
|
|
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
name = "example-non-routed-network"
|
|
ipv4_nameservers = ["1.2.3.4", "5.6.7.8"]
|
|
ipv4_prefix_length = 24
|
|
ipv4_gateway = "10.1.2.3"
|
|
ipv4_prefix = "10.1.2.0/24"
|
|
labels = {
|
|
"key" = "value"
|
|
}
|
|
routed = false
|
|
}
|
|
```
|
|
|
|
<!-- schema generated by tfplugindocs -->
|
|
## Schema
|
|
|
|
### Required
|
|
|
|
- `name` (String) The name of the network.
|
|
- `project_id` (String) STACKIT project ID to which the network is associated.
|
|
|
|
### Optional
|
|
|
|
- `ipv4_gateway` (String) The IPv4 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.
|
|
- `ipv4_nameservers` (List of String) The IPv4 nameservers of the network.
|
|
- `ipv4_prefix` (String) The IPv4 prefix of the network (CIDR).
|
|
- `ipv4_prefix_length` (Number) The IPv4 prefix length of the network.
|
|
- `ipv6_gateway` (String) The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.
|
|
- `ipv6_nameservers` (List of String) The IPv6 nameservers of the network.
|
|
- `ipv6_prefix` (String) The IPv6 prefix of the network (CIDR).
|
|
- `ipv6_prefix_length` (Number) The IPv6 prefix length of the network.
|
|
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
|
- `nameservers` (List of String, Deprecated) The nameservers of the network. This field is deprecated and will be removed soon, use `ipv4_nameservers` to configure the nameservers for IPv4.
|
|
- `no_ipv4_gateway` (Boolean) If set to `true`, the network doesn't have a gateway.
|
|
- `no_ipv6_gateway` (Boolean) If set to `true`, the network doesn't have a gateway.
|
|
- `routed` (Boolean) If set to `true`, the network is routed and therefore accessible from other networks.
|
|
|
|
### Read-Only
|
|
|
|
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`network_id`".
|
|
- `ipv4_prefixes` (List of String) The IPv4 prefixes of the network.
|
|
- `ipv6_prefixes` (List of String) The IPv6 prefixes of the network.
|
|
- `network_id` (String) The network ID.
|
|
- `prefixes` (List of String, Deprecated) The prefixes of the network. This field is deprecated and will be removed soon, use `ipv4_prefixes` to read the prefixes of the IPv4 networks.
|
|
- `public_ip` (String) The public IP of the network.
|