Skip to content

Commit 93fe2fe

Browse files
vicentepinto98joaopaletGokceGK
authored
IaaS Release (#543)
* IaaS Volume (#541) * Onboard IaaS Volume * Labels mapping * Add acceptance test * Remove source field * Fix lint * Add examples and docs * Fix lint * Fix lint * Fix lint * Volume source field (#542) * Onboard IaaS Volume * Labels mapping * Add acceptance test * Remove source field * Fix lint * Add examples and docs * Fix lint * Fix lint * Fix lint * Add source field supoort * Fix labels and source mapping * Remove unecessary source mapping * Move methods to conversion pkg * Revert change * Update stackit/internal/services/iaas/volume/datasource.go Co-authored-by: João Palet <joao.palet@outlook.com> * Update stackit/internal/services/iaas/volume/resource.go Co-authored-by: João Palet <joao.palet@outlook.com> * Update stackit/internal/services/iaas/volume/resource.go Co-authored-by: João Palet <joao.palet@outlook.com> * Update stackit/internal/services/iaas/volume/resource.go Co-authored-by: João Palet <joao.palet@outlook.com> * Changes after review * Change after revie --------- Co-authored-by: João Palet <joao.palet@outlook.com> * Onboard IaaS security groups (#545) * onboard iaas security group * add examples and generate docs * fix linter issues * fix deletion * Update stackit/internal/services/iaas/securitygroup/resource.go Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * rename data source example file * update docs * remove field * remove field * remove plan modifier from the name field * refactor labels in mapFields * change function from utils to conversion * remove rules from the security group * update docs * add security group acceptance test * add plan modifiers to stateful field * sort imports * change stateful description --------- Co-authored-by: Gökçe Gök Klingel <goekce.goek_klingel@stackit.cloud> Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * IaaS Server baseline configuration (#546) * Server resource schema * Implemente CRUD methods and unit testsg * Bug fixes * Bug fix * Make variable private * Remove delete_on_termination and update descriptions * Add security_group field to initial networking * Add examples and acc test * Generate docs * Fix lint * Fix lint issue * Fix unit test * Update desc * Gen docs * Onboard IaaS network interface (#544) * implement network interface * handle labels * add CIDR validation * fix linter issues and generate docs * remove computed from the allowed addresses and fix the conditions * Update stackit/internal/services/iaas/networkinterface/resource.go Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * Update stackit/internal/services/iaas/networkinterface/datasource.go Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * apply code review changes * remove status from schema * remove unnecessary GET call * Update stackit/internal/services/iaas/networkinterface/resource.go Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * Update stackit/internal/services/iaas/networkinterface/resource.go Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * rename nic_security to security * add beta markdown description * use existing validateIP function * use utils function for the options listing * refactor labels * change function from utils to conversion * make allowed addresses a list of strings * add acceptance test for network interfaces * fix acceptance test * rename security_groups as security_group_ids * extend descriptions * fix acc test --------- Co-authored-by: Gökçe Gök Klingel <goekce.goek_klingel@stackit.cloud> Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * rename volume data source example (#552) Co-authored-by: Gökçe Gök Klingel <goekce.goek_klingel@stackit.cloud> * add requires replace to ipv4 and ipv6 fields (#549) Co-authored-by: Gökçe Gök Klingel <goekce.goek_klingel@stackit.cloud> Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * Server resource improvements (#548) * Improvements to server resource * Fix example * Remove useStateForUnknown * Update SDK modules * Update iaasalpha moduel (#555) * Remove initial networking field (#556) * Server attachment resources (#557) * Server attachemnt resources * Add examples * Update volume datasource example * Fix linting issues * Fix linting * Fix examples formatting * Update go.mod * Revert iaas to v0.11 * Onboard iaas public ip (#551) * onboard public ip * onboard public ip * add public ip acceptance test * Update examples/data-sources/stackit_public_ip/data-source.tf Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * add plan modifier to IP * change type in the volume data source * add network_interface field to public ip resource * rename network_interface to network_interface_id * remove obsolete checks * extend unit tests * add network_interface_id in example * extend unit test * extend acceptance test * sort imports --------- Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * Add labels to network, network are and network area route resources (#559) * Fix network_interface example * Extend network, network area and network area route with labels * Revert iaas to v0.11.0 --------- Co-authored-by: GokceGK <161626272+GokceGK@users.noreply.github.com> * Onboard iaas security group rule (#553) * onboard security group rule * add security group rule to acceptance test * change type in examples * fix acc test issues * extend example with objects * remove obsolete field from acceptance test * remove unnecessary plan modifier * adapt schema fields * adapt schema fields * add requires replace to all fields * extend descriptions with protocol limitations * rename subfield protocol to number * add requires replace to objects * make icmp_parameters fields required * add empty field checks for nested objects * make max and min fields required in the port_range object * make number field computed in the protocol object * add UseStateForUnknown in protocol number * remove obsolete unit test * add checks for empty protocol and adapt unit test * add atLeastOneOf validation in protocol fields * fix linter issues * Add project existence check before deleting SNA (#561) * add project list check and error in network area deletion * Update stackit/internal/services/iaas/networkarea/resource.go Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> --------- Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * Example server use cases and other fixes (#560) * Add example usage to server resource * Update examples * Fix beta warning * Update docs and examples * Remove size from example * Fix server description, fix security group rule error message * Other fixes * remove field from datasource --------- Co-authored-by: GokceGK <161626272+GokceGK@users.noreply.github.com> * Security group rule fixes (#562) * Add example usage to server resource * Update examples * Fix beta warning * Update docs and examples * Remove size from example * Fix server description, fix security group rule error message * Other fixes * Fixes to sec group rule * Fix lint * Change after review --------- Co-authored-by: GokceGK <161626272+GokceGK@users.noreply.github.com> * Fix server example (#565) * Fix server example * Fixes to examples, add CIDR validation to nic * Migrate iaasalpha to iaas (#568) * Migrate iaasalpha to iaas * Fix lint * Update example * Improvements to security group rule (#569) * Improvements to security group rule * Fix lint * Fix example and remove computed from description * Fix formatting * Update description --------- Co-authored-by: João Palet <joao.palet@outlook.com> Co-authored-by: GokceGK <161626272+GokceGK@users.noreply.github.com> Co-authored-by: Gökçe Gök Klingel <goekce.goek_klingel@stackit.cloud>
1 parent 89dbf77 commit 93fe2fe

80 files changed

Lines changed: 10177 additions & 190 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/network.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ data "stackit_network" "example" {
3131

3232
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`network_id`".
3333
- `ipv4_prefix_length` (Number) The IPv4 prefix length of the network.
34+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
3435
- `name` (String) The name of the network.
3536
- `nameservers` (List of String) The nameservers of the network.
3637
- `prefixes` (List of String) The prefixes of the network.

docs/data-sources/network_area.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ data "stackit_network_area" "example" {
3535
- `default_nameservers` (List of String) List of DNS Servers/Nameservers.
3636
- `default_prefix_length` (Number) The default prefix length for networks in the network area.
3737
- `id` (String) Terraform's internal resource ID. It is structured as "`organization_id`,`network_area_id`".
38+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
3839
- `max_prefix_length` (Number) The maximal prefix length for networks in the network area.
3940
- `min_prefix_length` (Number) The minimal prefix length for networks in the network area.
4041
- `name` (String) The name of the network area.

docs/data-sources/network_area_route.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,6 @@ data "stackit_network_area_route" "example" {
3535
### Read-Only
3636

3737
- `id` (String) Terraform's internal data source ID. It is structured as "`organization_id`,`network_area_id`,`network_area_route_id`".
38+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
3839
- `next_hop` (String) The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address.
3940
- `prefix` (String) The network, that is reachable though the Next Hop. Should use CIDR notation.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_network_interface Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Network interface 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.
8+
---
9+
10+
# stackit_network_interface (Data Source)
11+
12+
Network interface datasource schema. Must have a `region` specified in the provider configuration.
13+
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.
15+
16+
## Example Usage
17+
18+
```terraform
19+
data "stackit_network_interface" "example" {
20+
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
21+
network_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
22+
network_interface_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
23+
}
24+
```
25+
26+
<!-- schema generated by tfplugindocs -->
27+
## Schema
28+
29+
### Required
30+
31+
- `network_id` (String) The network ID to which the network interface is associated.
32+
- `network_interface_id` (String) The network interface ID.
33+
- `project_id` (String) STACKIT project ID to which the network interface is associated.
34+
35+
### Read-Only
36+
37+
- `allowed_addresses` (List of String) The list of CIDR (Classless Inter-Domain Routing) notations.
38+
- `device` (String) The device UUID of the network interface.
39+
- `id` (String) Terraform's internal data source ID. It is structured as "`project_id`,`network_id`,`network_interface_id`".
40+
- `ipv4` (String) The IPv4 address.
41+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a network interface.
42+
- `mac` (String) The MAC address of network interface.
43+
- `name` (String) The name of the network interface.
44+
- `security` (Boolean) The Network Interface Security. If set to false, then no security groups will apply to this network interface.
45+
- `security_group_ids` (List of String) The list of security group UUIDs. If security is set to false, setting this field will lead to an error.
46+
- `type` (String) Type of network interface. Some of the possible values are: Supported values are: `server`, `metadata`, `gateway`.

docs/data-sources/public_ip.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_public_ip Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Volume resource 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.
8+
---
9+
10+
# stackit_public_ip (Data Source)
11+
12+
Volume resource schema. Must have a `region` specified in the provider configuration.
13+
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.
15+
16+
## Example Usage
17+
18+
```terraform
19+
data "stackit_public_ip" "example" {
20+
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
21+
public_ip_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
22+
}
23+
```
24+
25+
<!-- schema generated by tfplugindocs -->
26+
## Schema
27+
28+
### Required
29+
30+
- `project_id` (String) STACKIT project ID to which the public IP is associated.
31+
- `public_ip_id` (String) The public IP ID.
32+
33+
### Read-Only
34+
35+
- `id` (String) Terraform's internal datasource ID. It is structured as "`project_id`,`public_ip_id`".
36+
- `ip` (String) The IP address.
37+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
38+
- `network_interface_id` (String) Associates the public IP with a network interface or a virtual IP (ID).
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_security_group Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Security group 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.
8+
---
9+
10+
# stackit_security_group (Data Source)
11+
12+
Security group datasource schema. Must have a `region` specified in the provider configuration.
13+
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.
15+
16+
## Example Usage
17+
18+
```terraform
19+
data "stackit_security_group" "example" {
20+
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
21+
security_group_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
22+
}
23+
```
24+
25+
<!-- schema generated by tfplugindocs -->
26+
## Schema
27+
28+
### Required
29+
30+
- `project_id` (String) STACKIT project ID to which the security group is associated.
31+
- `security_group_id` (String) The security group ID.
32+
33+
### Read-Only
34+
35+
- `description` (String) The description of the security group.
36+
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`security_group_id`".
37+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
38+
- `name` (String) The name of the security group.
39+
- `stateful` (Boolean) Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server.
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_security_group_rule Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Security group 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.
8+
---
9+
10+
# stackit_security_group_rule (Data Source)
11+
12+
Security group datasource schema. Must have a `region` specified in the provider configuration.
13+
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.
15+
16+
## Example Usage
17+
18+
```terraform
19+
data "stackit_security_group_rule" "example" {
20+
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
21+
security_group_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
22+
security_group_rule_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
23+
}
24+
```
25+
26+
<!-- schema generated by tfplugindocs -->
27+
## Schema
28+
29+
### Required
30+
31+
- `project_id` (String) STACKIT project ID to which the security group rule is associated.
32+
- `security_group_id` (String) The security group ID.
33+
- `security_group_rule_id` (String) The security group rule ID.
34+
35+
### Read-Only
36+
37+
- `description` (String) The description of the security group rule.
38+
- `direction` (String) The direction of the traffic which the rule should match. Some of the possible values are: Supported values are: `ingress`, `egress`.
39+
- `ether_type` (String) The ethertype which the rule should match.
40+
- `icmp_parameters` (Attributes) ICMP Parameters. (see [below for nested schema](#nestedatt--icmp_parameters))
41+
- `id` (String) Terraform's internal datasource ID. It is structured as "`project_id`,`security_group_id`,`security_group_rule_id`".
42+
- `ip_range` (String) The remote IP range which the rule should match.
43+
- `port_range` (Attributes) The range of ports. (see [below for nested schema](#nestedatt--port_range))
44+
- `protocol` (Attributes) The internet protocol which the rule should match. (see [below for nested schema](#nestedatt--protocol))
45+
- `remote_security_group_id` (String) The remote security group which the rule should match.
46+
47+
<a id="nestedatt--icmp_parameters"></a>
48+
### Nested Schema for `icmp_parameters`
49+
50+
Read-Only:
51+
52+
- `code` (Number) ICMP code. Can be set if the protocol is ICMP.
53+
- `type` (Number) ICMP type. Can be set if the protocol is ICMP.
54+
55+
56+
<a id="nestedatt--port_range"></a>
57+
### Nested Schema for `port_range`
58+
59+
Read-Only:
60+
61+
- `max` (Number) The maximum port number. Should be greater or equal to the minimum.
62+
- `min` (Number) The minimum port number. Should be less or equal to the minimum.
63+
64+
65+
<a id="nestedatt--protocol"></a>
66+
### Nested Schema for `protocol`
67+
68+
Read-Only:
69+
70+
- `name` (String) The protocol name which the rule should match.
71+
- `number` (Number) The protocol number which the rule should match.

docs/data-sources/server.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_server Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Server 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.
8+
---
9+
10+
# stackit_server (Data Source)
11+
12+
Server datasource schema. Must have a `region` specified in the provider configuration.
13+
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.
15+
16+
17+
18+
<!-- schema generated by tfplugindocs -->
19+
## Schema
20+
21+
### Required
22+
23+
- `project_id` (String) STACKIT project ID to which the server is associated.
24+
- `server_id` (String) The server ID.
25+
26+
### Read-Only
27+
28+
- `affinity_group` (String) The affinity group the server is assigned to.
29+
- `availability_zone` (String) The availability zone of the server.
30+
- `boot_volume` (Attributes) The boot volume for the server (see [below for nested schema](#nestedatt--boot_volume))
31+
- `created_at` (String) Date-time when the server was created
32+
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`server_id`".
33+
- `image_id` (String) The image ID to be used for an ephemeral disk on the server.
34+
- `keypair_name` (String) The name of the keypair used during server creation.
35+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
36+
- `launched_at` (String) Date-time when the server was launched
37+
- `machine_type` (String) Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html)
38+
- `name` (String) The name of the server.
39+
- `updated_at` (String) Date-time when the server was updated
40+
- `user_data` (String) User data that is passed via cloud-init to the server.
41+
42+
<a id="nestedatt--boot_volume"></a>
43+
### Nested Schema for `boot_volume`
44+
45+
Read-Only:
46+
47+
- `id` (String) The ID of the source, either image ID or volume ID
48+
- `performance_class` (String) The performance class of the server.
49+
- `size` (Number) The size of the boot volume in GB.
50+
- `type` (String) The type of the source. Supported values are: `volume`, `image`.

docs/data-sources/volume.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_volume Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Volume resource 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.
8+
---
9+
10+
# stackit_volume (Data Source)
11+
12+
Volume resource schema. Must have a `region` specified in the provider configuration.
13+
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.
15+
16+
## Example Usage
17+
18+
```terraform
19+
data "stackit_volume" "example" {
20+
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
21+
volume_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
22+
}
23+
```
24+
25+
<!-- schema generated by tfplugindocs -->
26+
## Schema
27+
28+
### Required
29+
30+
- `project_id` (String) STACKIT project ID to which the volume is associated.
31+
- `volume_id` (String) The volume ID.
32+
33+
### Read-Only
34+
35+
- `availability_zone` (String) The availability zone of the volume.
36+
- `description` (String) The description of the volume.
37+
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`volume_id`".
38+
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
39+
- `name` (String) The name of the volume.
40+
- `performance_class` (String) The performance class of the volume.
41+
- `server_id` (String) The server ID of the server to which the volume is attached to.
42+
- `size` (Number) The size of the volume in GB. It can only be updated to a larger value than the current size
43+
- `source` (Attributes) The source of the volume. It can be either a volume, an image, a snapshot or a backup (see [below for nested schema](#nestedatt--source))
44+
45+
<a id="nestedatt--source"></a>
46+
### Nested Schema for `source`
47+
48+
Read-Only:
49+
50+
- `id` (String) The ID of the source, e.g. image ID
51+
- `type` (String) The type of the source. Supported values are: `volume`, `image`, `snapshot`, `backup`.

docs/resources/loadbalancer.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,25 @@ description: |-
88
To automate the creation of load balancers, OpenStack can be used to setup the supporting infrastructure.
99
To set up the OpenStack provider, you can create a token through the STACKIT Portal, in your project's Infrastructure API page.
1010
There, the OpenStack user domain name, username, and password are generated and can be obtained. The provider can then be configured as follows:
11-
```terraform
11+
1212
terraform {
13-
required_providers {
14-
(...)
15-
openstack = {
16-
source = "terraform-provider-openstack/openstack"
17-
}
18-
}
13+
required_providers {
14+
(...)
15+
openstack = {
16+
source = "terraform-provider-openstack/openstack"
17+
}
18+
}
1919
}
20+
2021
provider "openstack" {
21-
user_domain_name = "{OpenStack user domain name}"
22-
user_name = "{OpenStack username}"
23-
password = "{OpenStack password}"
24-
region = "RegionOne"
25-
auth_url = "https://keystone.api.iaas.eu01.stackit.cloud/v3"
22+
user_domain_name = "{OpenStack user domain name}"
23+
user_name = "{OpenStack username}"
24+
password = "{OpenStack password}"
25+
region = "RegionOne"
26+
auth_url = "https://keystone.api.iaas.eu01.stackit.cloud/v3"
2627
}
27-
```
28+
29+
2830
Configuring the supporting infrastructure
2931
The example below uses OpenStack to create the network, router, a public IP address and a compute instance.
3032
---

0 commit comments

Comments
 (0)