Skip to content

Commit 8eee9b0

Browse files
Merge branch 'proj/linode-interfaces' into new/linode-interfaces-vpc-dual-stack
2 parents 0049e32 + 2823b6e commit 8eee9b0

Some content is hidden

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

61 files changed

+1105
-70
lines changed

docs/data-sources/database_mysql_v2.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ The `linode_database_mysql_v2` data source exports the following attributes:
5959

6060
* `port` - The access port for this Managed Database.
6161

62+
* [`private_network`](#private_network) - Restricts access to this database using a virtual private cloud (VPC).
63+
6264
* `region` - The region to use for the Managed Database.
6365

6466
* `root_password` - The randomly-generated root password for the Managed Database instance.
@@ -156,3 +158,13 @@ The following arguments are supported in the `updates` specification block:
156158
* `frequency` - The frequency at which maintenance occurs. (`weekly`)
157159

158160
* `hour_of_day` - The hour to begin maintenance based in UTC time. (`0`..`23`)
161+
162+
## private_network
163+
164+
The following arguments are exposed by the `private_network` attribute:
165+
166+
* `vpc_id` - The ID of the virtual private cloud (VPC) to restrict access to this database using.
167+
168+
* `subnet_id` - The ID of the VPC subnet to restrict access to this database using.
169+
170+
* `public_access` - If true, clients outside the VPC can connect to the database using a public IP address.

docs/data-sources/database_postgresql_v2.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ The `linode_database_postgresql_v2` data source exports the following attributes
5959

6060
* `port` - The access port for this Managed Database.
6161

62+
* [`private_network`](#private_network) - Restricts access to this database using a virtual private cloud (VPC).
63+
6264
* `region` - The region to use for the Managed Database.
6365

6466
* `root_password` - The randomly-generated root password for the Managed Database instance.
@@ -194,3 +196,13 @@ The following arguments are supported in the `updates` specification block:
194196
* `frequency` - The frequency at which maintenance occurs. (`weekly`)
195197

196198
* `hour_of_day` - The hour to begin maintenance based in UTC time. (`0`..`23`)
199+
200+
## private_network
201+
202+
The following arguments are exposed by the `private_network` attribute:
203+
204+
* `vpc_id` - The ID of the virtual private cloud (VPC) to restrict access to this database using.
205+
206+
* `subnet_id` - The ID of the VPC subnet to restrict access to this database using.
207+
208+
* `public_access` - If true, clients outside the VPC can connect to the database using a public IP address.

docs/data-sources/databases.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ Each engine will be stored in the `databases` attribute and will export the foll
7878

7979
* `label` - A unique, user-defined string referring to the Managed Database.
8080

81+
* [`private_network`](#private_network) - Restricts access to this database using a virtual private cloud (VPC).
82+
8183
* `region` - The region to use for the Managed Database.
8284

8385
* `replication_type` - The replication method used for the Managed Database.
@@ -91,3 +93,13 @@ Each engine will be stored in the `databases` attribute and will export the foll
9193
* `updated` - When this Managed Database was last updated.
9294

9395
* `version` - The Managed Database engine version.
96+
97+
## private_network
98+
99+
The following arguments are exposed by the `private_network` attribute:
100+
101+
* `vpc_id` - The ID of the virtual private cloud (VPC) to restrict access to this database using.
102+
103+
* `subnet_id` - The ID of the VPC subnet to restrict access to this database using.
104+
105+
* `public_access` - If true, clients outside the VPC can connect to the database using a public IP address.

docs/data-sources/volume.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,4 @@ The Linode Volume resource exports the following attributes:
4949

5050
- `filesystem_path` - The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0LinodeVolume + Volume label.
5151

52-
- `encryption` - Whether Block Storage Disk Encryption is enabled or disabled on this Volume. Note: Block Storage Disk Encryption is not currently available to all users.
52+
- `encryption` - Whether Block Storage Disk Encryption is enabled or disabled on this Volume.

docs/data-sources/vpc_subnet.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ In addition to all arguments above, the following attributes are exported:
4242

4343
* [`ipv6`](#ipv6) - A list of IPv6 ranges under this subnet.
4444

45-
* `linodes` - A list of Linode that added to this subnet.
45+
* `linodes` - A list of Linodes that added to this subnet.
4646

4747
* `id` - ID of the Linode
4848

docs/data-sources/vpc_subnets.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Each Linode VPC subnet will be stored in the `vpc_subnets` attribute and will ex
5555

5656
* [`ipv6`](#ipv6) - A list of IPv6 ranges under this subnet.
5757

58-
* `linodes` - A list of Linode that added to this subnet.
58+
* `linodes` - A list of Linodes added to this subnet.
5959

6060
* `id` - ID of the Linode
6161

docs/resources/database_mysql_v2.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,23 @@ resource "linode_database_mysql_v2" "foobar" {
111111
}
112112
```
113113

114+
Creating a MySQL database hidden behind a VPC:
115+
116+
```hcl
117+
resource "linode_database_mysql_v2" "foobar" {
118+
label = "mydatabase"
119+
engine_id = "mysql/16"
120+
region = "us-mia"
121+
type = "g6-nanode-1"
122+
123+
private_network = {
124+
vpc_id = 123
125+
subnet_id = 456
126+
public_access = false
127+
}
128+
}
129+
```
130+
114131
> **_NOTE:_** The name of the default database in the returned database cluster is `defaultdb`.
115132
116133
## Argument Reference
@@ -135,6 +152,8 @@ The following arguments are supported:
135152

136153
* `fork_source` - (Optional) The ID of the database that was forked from.
137154

155+
* [`private_network`](#private_network) - (Optional) Restricts access to this database using a virtual private cloud (VPC) that you've configured in the region where the database will live.
156+
138157
* [`updates`](#updates) - (Optional) Configuration settings for automated patch update maintenance for the Managed Database.
139158

140159
* `engine_config_binlog_retention_period` - (Optional) The minimum amount of time in seconds to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector.
@@ -253,6 +272,16 @@ The following arguments are supported in the `updates` specification block:
253272

254273
* `hour_of_day` - (Required) The hour to begin maintenance based in UTC time. (`0`..`23`)
255274

275+
## private_network
276+
277+
The following arguments are supported in the `private_network` specification block:
278+
279+
* `vpc_id` - (Required) The ID of the virtual private cloud (VPC) to restrict access to this database using.
280+
281+
* `subnet_id` - (Required) The ID of the VPC subnet to restrict access to this database using.
282+
283+
* `public_access` - (Optional) Set to `true` to allow clients outside the VPC to connect to the database using a public IP address. (Default `false`)
284+
256285
## Import
257286

258287
Linode MySQL Databases can be imported using the `id`, e.g.

docs/resources/database_postgresql_v2.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,23 @@ resource "linode_database_postgresql_v2" "foobar" {
130130
}
131131
```
132132

133+
Creating a PostgreSQL database hidden behind a VPC:
134+
135+
```hcl
136+
resource "linode_database_postgresql_v2" "foobar" {
137+
label = "mydatabase"
138+
engine_id = "postgresql/16"
139+
region = "us-mia"
140+
type = "g6-nanode-1"
141+
142+
private_network = {
143+
vpc_id = 123
144+
subnet_id = 456
145+
public_access = false
146+
}
147+
}
148+
```
149+
133150
> **_NOTE:_** The name of the default database in the returned database cluster is `defaultdb`.
134151
135152
## Argument Reference
@@ -154,6 +171,8 @@ The following arguments are supported:
154171

155172
* `fork_source` - (Optional) The ID of the database that was forked from.
156173

174+
* [`private_network`](#private_network) - (Optional) Restricts access to this database using a virtual private cloud (VPC) that you've configured in the region where the database will live.
175+
157176
* [`updates`](#updates) - (Optional) Configuration settings for automated patch update maintenance for the Managed Database.
158177

159178
* `engine_config_pg_autovacuum_analyze_scale_factor` - (Optional) Specifies a fraction of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size)
@@ -310,6 +329,16 @@ The following arguments are supported in the `updates` specification block:
310329

311330
* `hour_of_day` - (Required) The hour to begin maintenance based in UTC time. (`0`..`23`)
312331

332+
## private_network
333+
334+
The following arguments are supported in the `private_network` specification block:
335+
336+
* `vpc_id` - (Required) The ID of the virtual private cloud (VPC) to restrict access to this database using.
337+
338+
* `subnet_id` - (Required) The ID of the VPC subnet to restrict access to this database using.
339+
340+
* `public_access` - (Optional) Set to `true` to allow clients outside the VPC to connect to the database using a public IP address. (Default `false`)
341+
313342
## Import
314343

315344
Linode PostgreSQL Databases can be imported using the `id`, e.g.

docs/resources/volume.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ The following arguments are supported:
8181

8282
* `tags` - (Optional) A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
8383

84-
* `encryption` - (Optional) Whether Block Storage Disk Encryption is enabled or disabled on this Volume. Note: Block Storage Disk Encryption is not currently available to all users.
84+
* `encryption` - (Optional) Whether Block Storage Disk Encryption is enabled or disabled on this Volume.
8585

8686
### Timeouts
8787

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ require (
2626
github.com/hashicorp/terraform-plugin-mux v0.21.0
2727
github.com/hashicorp/terraform-plugin-sdk/v2 v2.37.0
2828
github.com/hashicorp/terraform-plugin-testing v1.13.3
29-
github.com/linode/linodego v1.58.1-0.20250919210938-5a81d98fb561
29+
github.com/linode/linodego v1.60.0
3030
github.com/linode/linodego/k8s v1.25.2
3131
github.com/stretchr/testify v1.11.1
3232
golang.org/x/crypto v0.42.0

0 commit comments

Comments
 (0)