Extend network resource fields (#576)
* 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>
This commit is contained in:
parent
3ac1d50253
commit
b1fb9ab9b6
7 changed files with 857 additions and 60 deletions
|
|
@ -29,6 +29,9 @@ var networkResource = map[string]string{
|
|||
"ipv4_prefix_length": "24",
|
||||
"nameserver0": "1.2.3.4",
|
||||
"nameserver1": "5.6.7.8",
|
||||
"ipv4_gateway": "10.1.2.1",
|
||||
"ipv4_prefix": "10.1.2.1/24",
|
||||
"routed": "false",
|
||||
}
|
||||
|
||||
var networkAreaResource = map[string]string{
|
||||
|
|
@ -113,13 +116,19 @@ func networkResourceConfig(name, nameservers string) string {
|
|||
project_id = "%s"
|
||||
name = "%s"
|
||||
ipv4_prefix_length = "%s"
|
||||
nameservers = %s
|
||||
ipv4_nameservers = %s
|
||||
ipv4_gateway = "%s"
|
||||
ipv4_prefix = "%s"
|
||||
routed = "%s"
|
||||
}
|
||||
`,
|
||||
networkResource["project_id"],
|
||||
name,
|
||||
networkResource["ipv4_prefix_length"],
|
||||
nameservers,
|
||||
networkResource["ipv4_gateway"],
|
||||
networkResource["ipv4_prefix"],
|
||||
networkResource["routed"],
|
||||
)
|
||||
}
|
||||
|
||||
|
|
@ -616,6 +625,9 @@ func TestAccServer(t *testing.T) {
|
|||
resource.TestCheckResourceAttr("stackit_network.network", "name", networkResource["name"]),
|
||||
resource.TestCheckResourceAttr("stackit_network.network", "nameservers.#", "1"),
|
||||
resource.TestCheckResourceAttr("stackit_network.network", "nameservers.0", networkResource["nameserver0"]),
|
||||
resource.TestCheckResourceAttr("stackit_network.network", "ipv4_gateway", networkResource["ipv4_gateway"]),
|
||||
resource.TestCheckResourceAttr("stackit_network.network", "ipv4_prefix", networkResource["ipv4_prefix"]),
|
||||
resource.TestCheckResourceAttr("stackit_network.network", "routed", networkResource["routed"]),
|
||||
|
||||
// Server
|
||||
resource.TestCheckResourceAttr("stackit_server.server", "project_id", serverResource["project_id"]),
|
||||
|
|
@ -718,6 +730,9 @@ func TestAccServer(t *testing.T) {
|
|||
),
|
||||
resource.TestCheckResourceAttr("data.stackit_network.network", "name", networkResource["name"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_network.network", "nameservers.0", networkResource["nameserver0"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_network.network", "ipv4_gateway", networkResource["ipv4_gateway"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_network.network", "ipv4_prefix", networkResource["ipv4_prefix"]),
|
||||
resource.TestCheckResourceAttr("data.stackit_network.network", "routed", networkResource["routed"]),
|
||||
|
||||
// Server
|
||||
resource.TestCheckResourceAttr("data.stackit_server.server", "project_id", serverResource["project_id"]),
|
||||
|
|
@ -879,6 +894,8 @@ func TestAccServer(t *testing.T) {
|
|||
resource.TestCheckResourceAttr("stackit_network.network", "nameservers.#", "2"),
|
||||
resource.TestCheckResourceAttr("stackit_network.network", "nameservers.0", networkResource["nameserver0"]),
|
||||
resource.TestCheckResourceAttr("stackit_network.network", "nameservers.1", networkResource["nameserver1"]),
|
||||
resource.TestCheckResourceAttr("stackit_network.network", "ipv4_gateway", networkResource["ipv4_gateway"]),
|
||||
resource.TestCheckResourceAttr("stackit_network.network", "ipv4_prefix", networkResource["ipv4_prefix"]),
|
||||
|
||||
// Server
|
||||
resource.TestCheckResourceAttr("stackit_server.server", "project_id", serverResource["project_id"]),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue