Skip to content

Commit 9ff9b8f

Browse files
rubenhoenleAlexander Dahmen (EXT)Fyusel
authored
feat(iaas): add experimental support for routing tables and routes (#896)
* Merged PR 788126: feat(iaas): Onboard routing tables feat(iaas): Onboard routing tables Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de> * Merged PR 793350: fix(routingtable): region attribute is missing in scheme fix(routingtable): region attribute is missing in scheme Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de> * Merged PR 797968: feat(iaas): onboarding of routing table routes relates to STACKITTPR-241 * use iaasalpha sdk from github * resolve todos * remove routes from routing table model * restructure packages * acc tests routing tables * add acc tests for routes * chore(iaas): mark routing table resources as experimental * chore(deps): use iaasalpha sdk v0.1.19-alpha * Review feedback Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de> --------- Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de> Co-authored-by: Alexander Dahmen (EXT) <Alexander.Dahmen_ext@external.mail.schwarz> Co-authored-by: Alexander Dahmen <alexander.dahmen@inovex.de>
1 parent d2c51af commit 9ff9b8f

65 files changed

Lines changed: 5160 additions & 53 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/data-sources/cdn_custom_domain.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ page_title: "stackit_cdn_custom_domain Data Source - stackit"
44
subcategory: ""
55
description: |-
66
CDN distribution data source schema.
7-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
7+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
88
---
99

1010
# stackit_cdn_custom_domain (Data Source)
1111

1212
CDN distribution data source schema.
1313

14-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
14+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
1515

1616
## Example Usage
1717

docs/data-sources/cdn_distribution.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ page_title: "stackit_cdn_distribution Data Source - stackit"
44
subcategory: ""
55
description: |-
66
CDN distribution data source schema.
7-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
7+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
88
---
99

1010
# stackit_cdn_distribution (Data Source)
1111

1212
CDN distribution data source schema.
1313

14-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
14+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
1515

1616
## Example Usage
1717

docs/data-sources/git.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ page_title: "stackit_git Data Source - stackit"
44
subcategory: ""
55
description: |-
66
Git Instance datasource schema.
7-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
7+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
88
---
99

1010
# stackit_git (Data Source)
1111

1212
Git Instance datasource schema.
1313

14-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
14+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
1515

1616
## Example Usage
1717

docs/data-sources/routing_table.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_routing_table Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Routing table datasource schema. Must have a region specified in the provider configuration.
7+
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
8+
---
9+
10+
# stackit_routing_table (Data Source)
11+
12+
Routing table datasource schema. Must have a `region` specified in the provider configuration.
13+
14+
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
15+
16+
## Example Usage
17+
18+
```terraform
19+
data "stackit_routing_table" "example" {
20+
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
21+
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
22+
routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
23+
}
24+
```
25+
26+
<!-- schema generated by tfplugindocs -->
27+
## Schema
28+
29+
### Required
30+
31+
- `network_area_id` (String) The network area ID to which the routing table is associated.
32+
- `organization_id` (String) STACKIT organization ID to which the routing table is associated.
33+
- `routing_table_id` (String) The routing tables ID.
34+
35+
### Optional
36+
37+
- `region` (String) The resource region. If not defined, the provider region is used.
38+
39+
### Read-Only
40+
41+
- `created_at` (String) Date-time when the routing table was created
42+
- `default` (Boolean) When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise.
43+
- `description` (String) Description of the routing table.
44+
- `id` (String) Terraform's internal datasource ID. It is structured as "`organization_id`,`region`,`network_area_id`,`routing_table_id`".
45+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
46+
- `name` (String) The name of the routing table.
47+
- `system_routes` (Boolean)
48+
- `updated_at` (String) Date-time when the routing table was updated
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_routing_table_route Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Routing table route datasource schema. Must have a region specified in the provider configuration.
7+
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
8+
---
9+
10+
# stackit_routing_table_route (Data Source)
11+
12+
Routing table route datasource schema. Must have a `region` specified in the provider configuration.
13+
14+
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
15+
16+
## Example Usage
17+
18+
```terraform
19+
data "stackit_routing_table_route" "example" {
20+
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
21+
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
22+
routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
23+
route_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
24+
}
25+
```
26+
27+
<!-- schema generated by tfplugindocs -->
28+
## Schema
29+
30+
### Required
31+
32+
- `network_area_id` (String) The network area ID to which the routing table is associated.
33+
- `organization_id` (String) STACKIT organization ID to which the routing table is associated.
34+
- `route_id` (String) Route ID.
35+
- `routing_table_id` (String) The routing tables ID.
36+
37+
### Optional
38+
39+
- `region` (String) The resource region. If not defined, the provider region is used.
40+
41+
### Read-Only
42+
43+
- `created_at` (String) Date-time when the route was created
44+
- `destination` (Attributes) Destination of the route. (see [below for nested schema](#nestedatt--destination))
45+
- `id` (String) Terraform's internal datasource ID. It is structured as "`organization_id`,`region`,`network_area_id`,`routing_table_id`,`route_id`".
46+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
47+
- `next_hop` (Attributes) Next hop destination. (see [below for nested schema](#nestedatt--next_hop))
48+
- `updated_at` (String) Date-time when the route was updated
49+
50+
<a id="nestedatt--destination"></a>
51+
### Nested Schema for `destination`
52+
53+
Read-Only:
54+
55+
- `type` (String) CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage.
56+
- `value` (String) An CIDR string.
57+
58+
59+
<a id="nestedatt--next_hop"></a>
60+
### Nested Schema for `next_hop`
61+
62+
Read-Only:
63+
64+
- `type` (String) Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `cidrv4` is supported during experimental stage..
65+
- `value` (String) Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage.
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_routing_table_routes Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Routing table routes datasource schema. Must have a region specified in the provider configuration.
7+
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
8+
---
9+
10+
# stackit_routing_table_routes (Data Source)
11+
12+
Routing table routes datasource schema. Must have a `region` specified in the provider configuration.
13+
14+
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
15+
16+
## Example Usage
17+
18+
```terraform
19+
data "stackit_routing_table_routes" "example" {
20+
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
21+
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
22+
routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
23+
}
24+
```
25+
26+
<!-- schema generated by tfplugindocs -->
27+
## Schema
28+
29+
### Required
30+
31+
- `network_area_id` (String) The network area ID to which the routing table is associated.
32+
- `organization_id` (String) STACKIT organization ID to which the routing table is associated.
33+
- `routing_table_id` (String) The routing tables ID.
34+
35+
### Optional
36+
37+
- `region` (String) The datasource region. If not defined, the provider region is used.
38+
39+
### Read-Only
40+
41+
- `id` (String) Terraform's internal datasource ID. It is structured as "`organization_id`,`region`,`network_area_id`,`routing_table_id`,`route_id`".
42+
- `routes` (Attributes List) List of routes. (see [below for nested schema](#nestedatt--routes))
43+
44+
<a id="nestedatt--routes"></a>
45+
### Nested Schema for `routes`
46+
47+
Read-Only:
48+
49+
- `created_at` (String) Date-time when the route was created
50+
- `destination` (Attributes) Destination of the route. (see [below for nested schema](#nestedatt--routes--destination))
51+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
52+
- `next_hop` (Attributes) Next hop destination. (see [below for nested schema](#nestedatt--routes--next_hop))
53+
- `route_id` (String) Route ID.
54+
- `updated_at` (String) Date-time when the route was updated
55+
56+
<a id="nestedatt--routes--destination"></a>
57+
### Nested Schema for `routes.destination`
58+
59+
Read-Only:
60+
61+
- `type` (String) CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage.
62+
- `value` (String) An CIDR string.
63+
64+
65+
<a id="nestedatt--routes--next_hop"></a>
66+
### Nested Schema for `routes.next_hop`
67+
68+
Read-Only:
69+
70+
- `type` (String) Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `cidrv4` is supported during experimental stage..
71+
- `value` (String) Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_routing_tables Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Routing table datasource schema. Must have a region specified in the provider configuration.
7+
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
8+
---
9+
10+
# stackit_routing_tables (Data Source)
11+
12+
Routing table datasource schema. Must have a `region` specified in the provider configuration.
13+
14+
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
15+
16+
## Example Usage
17+
18+
```terraform
19+
data "stackit_routing_tables" "example" {
20+
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
21+
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
22+
}
23+
```
24+
25+
<!-- schema generated by tfplugindocs -->
26+
## Schema
27+
28+
### Required
29+
30+
- `network_area_id` (String) The network area ID to which the routing table is associated.
31+
- `organization_id` (String) STACKIT organization ID to which the routing table is associated.
32+
33+
### Optional
34+
35+
- `region` (String) The resource region. If not defined, the provider region is used.
36+
37+
### Read-Only
38+
39+
- `id` (String) Terraform's internal datasource ID. It is structured as "`organization_id`,`region`,`network_area_id`".
40+
- `items` (Attributes List) List of routing tables. (see [below for nested schema](#nestedatt--items))
41+
42+
<a id="nestedatt--items"></a>
43+
### Nested Schema for `items`
44+
45+
Read-Only:
46+
47+
- `created_at` (String) Date-time when the routing table was created
48+
- `default` (Boolean) When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise.
49+
- `description` (String) Description of the routing table.
50+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
51+
- `name` (String) The name of the routing table.
52+
- `routing_table_id` (String) The routing tables ID.
53+
- `system_routes` (Boolean)
54+
- `updated_at` (String) Date-time when the routing table was updated

docs/data-sources/server_backup_schedule.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ page_title: "stackit_server_backup_schedule Data Source - stackit"
44
subcategory: ""
55
description: |-
66
Server backup schedule datasource schema. Must have a region specified in the provider configuration.
7-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
7+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
88
---
99

1010
# stackit_server_backup_schedule (Data Source)
1111

1212
Server backup schedule datasource schema. Must have a `region` specified in the provider configuration.
1313

14-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
14+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
1515

1616
## Example Usage
1717

docs/data-sources/server_backup_schedules.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ page_title: "stackit_server_backup_schedules Data Source - stackit"
44
subcategory: ""
55
description: |-
66
Server backup schedules datasource schema. Must have a region specified in the provider configuration.
7-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
7+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
88
---
99

1010
# stackit_server_backup_schedules (Data Source)
1111

1212
Server backup schedules datasource schema. Must have a `region` specified in the provider configuration.
1313

14-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
14+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
1515

1616
## Example Usage
1717

docs/data-sources/server_update_schedule.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ page_title: "stackit_server_update_schedule Data Source - stackit"
44
subcategory: ""
55
description: |-
66
Server update schedule datasource schema. Must have a region specified in the provider configuration.
7-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
7+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
88
---
99

1010
# stackit_server_update_schedule (Data Source)
1111

1212
Server update schedule datasource schema. Must have a `region` specified in the provider configuration.
1313

14-
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
14+
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
1515

1616
## Example Usage
1717

0 commit comments

Comments
 (0)