Skip to content

Commit

Permalink
feat(virtual_network): add virtual network resource
Browse files Browse the repository at this point in the history
  • Loading branch information
jimehk committed Dec 11, 2024
1 parent ca02925 commit a0bb1d2
Show file tree
Hide file tree
Showing 15 changed files with 2,028 additions and 130 deletions.
45 changes: 45 additions & 0 deletions docs/resources/virtual_network.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "katapult_virtual_network Resource - terraform-provider-katapult"
subcategory: ""
description: |-
---

# katapult_virtual_network (Resource)



## Example Usage

```terraform
# Create virtual network
resource "katapult_virtual_network" "backbone" {
name = "Backbone"
}
# Create a virtual network in a specific Data Center.
data "katapult_data_center" "ams" {
permalink = "nl-ams-01"
}
resource "katapult_virtual_network" "backbone-ams" {
name = "Backbone AMS"
data_center_id = data.katapult_data_center.ams.id
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `name` (String)

### Optional

- `data_center_id` (String)

### Read-Only

- `id` (String) The ID of this resource.
14 changes: 14 additions & 0 deletions examples/resources/katapult_virtual_network/resource.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Create virtual network
resource "katapult_virtual_network" "backbone" {
name = "Backbone"
}

# Create a virtual network in a specific Data Center.
data "katapult_data_center" "ams" {
permalink = "nl-ams-01"
}

resource "katapult_virtual_network" "backbone-ams" {
name = "Backbone AMS"
data_center_id = data.katapult_data_center.ams.id
}
54 changes: 7 additions & 47 deletions internal/v6provider/data_source_network_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,18 +139,8 @@ func TestAccKatapultDataSourceNetwork_default(t *testing.T) {
func TestAccKatapultDataSourceNetwork_default_other_data_center(t *testing.T) {
tt := newTestTools(t)

dcPermalink := "nl-ams-01" // "Public Network - AMS (eu-ams-01)
dcResp, err := tt.Meta.Core.GetDataCenterWithResponse(
tt.Ctx, &core.GetDataCenterParams{
DataCenterPermalink: &dcPermalink,
},
)
if err != nil {
t.Fatalf("error fetching data center: %s", err)
}

dc := dcResp.JSON200.DataCenter

// "Public Network - AMS (eu-ams-01)
dc := getKatapultDataCenter(tt, "nl-ams-01")
netResp, err := tt.Meta.Core.GetDataCenterDefaultNetworkWithResponse(
tt.Ctx, &core.GetDataCenterDefaultNetworkParams{
DataCenterId: dc.Id,
Expand Down Expand Up @@ -193,18 +183,8 @@ func TestAccKatapultDataSourceNetwork_default_other_data_center(t *testing.T) {
func TestAccKatapultDataSourceNetwork_other_by_id(t *testing.T) {
tt := newTestTools(t)

dcPermalink := "nl-ams-01" // "Public Network - AMS (eu-ams-01)
dcResp, err := tt.Meta.Core.GetDataCenterWithResponse(
tt.Ctx, &core.GetDataCenterParams{
DataCenterPermalink: &dcPermalink,
},
)
if err != nil {
t.Fatalf("error fetching data center: %s", err)
}

dc := dcResp.JSON200.DataCenter

// "Public Network - AMS (eu-ams-01)
dc := getKatapultDataCenter(tt, "nl-ams-01")
netResp, err := tt.Meta.Core.GetDataCenterDefaultNetworkWithResponse(
tt.Ctx, &core.GetDataCenterDefaultNetworkParams{
DataCenterId: dc.Id,
Expand Down Expand Up @@ -248,18 +228,8 @@ func TestAccKatapultDataSourceNetwork_other_by_id(t *testing.T) {
func TestAccKatapultDataSourceNetwork_other_by_permalink(t *testing.T) {
tt := newTestTools(t)

dcPermalink := "nl-ams-01" // "Public Network - AMS (eu-ams-01)
dcResp, err := tt.Meta.Core.GetDataCenterWithResponse(
tt.Ctx, &core.GetDataCenterParams{
DataCenterPermalink: &dcPermalink,
},
)
if err != nil {
t.Fatalf("error fetching data center: %s", err)
}

dc := dcResp.JSON200.DataCenter

// "Public Network - AMS (eu-ams-01)
dc := getKatapultDataCenter(tt, "nl-ams-01")
netResp, err := tt.Meta.Core.GetDataCenterDefaultNetworkWithResponse(
tt.Ctx, &core.GetDataCenterDefaultNetworkParams{
DataCenterId: dc.Id,
Expand Down Expand Up @@ -307,17 +277,7 @@ func TestAccKatapultDataSourceNetwork_other_by_permalink(t *testing.T) {
func TestAccKatapultDataSourceNetwork_invalid_attributes(t *testing.T) {
tt := newTestTools(t)

dcResp, err := tt.Meta.Core.GetDataCenterWithResponse(
tt.Ctx, &core.GetDataCenterParams{
DataCenterPermalink: &tt.Meta.confDataCenter,
},
)
if err != nil {
t.Fatalf("error fetching data center: %s", err)
}

dc := dcResp.JSON200.DataCenter

dc := getKatapultDataCenter(tt, tt.Meta.confDataCenter)
resp, err := tt.Meta.Core.GetDataCenterDefaultNetworkWithResponse(
tt.Ctx, &core.GetDataCenterDefaultNetworkParams{
DataCenterPermalink: &tt.Meta.confDataCenter,
Expand Down
32 changes: 0 additions & 32 deletions internal/v6provider/resource_load_balancer_rule_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -666,35 +666,3 @@ func testAccCheckKatapultLoadBalancerRuleAttrs(
return resource.ComposeAggregateTestCheckFunc(tfs...)(s)
}
}

func testAccCheckResourceAttrChanged(
res, attr string,
oldValue, currentValue *string,
) resource.TestCheckFunc {
return func(_ *terraform.State) error {
if *oldValue == *currentValue {
return fmt.Errorf(
"Expected resource %q attribute %q to change, but it did NOT",
res, attr,
)
}

return nil
}
}

func testAccCheckResourceAttrNotChanged(
res, attr string,
oldValue, currentValue *string,
) resource.TestCheckFunc {
return func(_ *terraform.State) error {
if *oldValue != *currentValue {
return fmt.Errorf(
"Expected resource %q attribute %q to NOT change, but it did",
res, attr,
)
}

return nil
}
}
Loading

0 comments on commit a0bb1d2

Please sign in to comment.