You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* TPT-4292: terraform: Implement linode_reserved_ip resource (#2309)
* TPT-4294: terraform: Update linode_instance resource to support reserved IP assignment at creation (#2323)
* TPT-4293: terraform: Implement linode_reserved_ip_types data source (#2322)
* TPT-4296: terraform: Update linode_nodebalancer resource to support reserved IP assignment (#2329)
* TPT-4297: terraform: Implement linode_tag Data Source with Reserved IPv4 Support (#2330)
* TPT-4295: terraform: Update linode_networking_ip resource — reserved conversion & IP representation (#2327)
* Update unit tests for linodego v2
* Make format
---------
Co-authored-by: Michal Wojcik <32574975+mgwoj@users.noreply.github.com>
Provides information about Linode Reserved IP types that match a set of filters.
5
+
---
6
+
7
+
# Data Source: linode\_reserved\_ip\_types
8
+
9
+
Provides information about Linode Reserved IP types that match a set of filters.
10
+
For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-reserved-ip-types).
11
+
12
+
## Example Usage
13
+
14
+
Get information about all Reserved IP types:
15
+
16
+
```hcl
17
+
data "linode_reserved_ip_types" "all" {}
18
+
19
+
output "type_ids" {
20
+
value = data.linode_reserved_ip_types.all.types.*.id
21
+
}
22
+
```
23
+
24
+
Get information about a specific Reserved IP type by ID:
25
+
26
+
```hcl
27
+
data "linode_reserved_ip_types" "specific" {
28
+
filter {
29
+
name = "id"
30
+
values = ["reserved-ip"]
31
+
}
32
+
}
33
+
34
+
output "label" {
35
+
value = data.linode_reserved_ip_types.specific.types[0].label
36
+
}
37
+
```
38
+
39
+
## Argument Reference
40
+
41
+
The following arguments are supported:
42
+
43
+
*[`filter`](#filter) - (Optional) A set of filters used to select Reserved IP types that meet certain requirements.
44
+
45
+
*`order_by` - (Optional) The attribute to order the results by. See the [Filterable Fields section](#filterable-fields) for a list of valid fields.
46
+
47
+
*`order` - (Optional) The order in which results should be returned. (`asc`, `desc`; default `asc`)
48
+
49
+
### Filter
50
+
51
+
*`name` - (Required) The name of the field to filter by. See the [Filterable Fields section](#filterable-fields) for a complete list of filterable fields.
52
+
53
+
*`values` - (Required) A list of values for the filter to allow. These values should all be in string form.
54
+
55
+
*`match_by` - (Optional) The method to match the field by. (`exact`, `regex`, `substring`; default `exact`)
56
+
57
+
## Attributes Reference
58
+
59
+
Each Reserved IP type will be stored in the `types` attribute and will export the following attributes:
60
+
61
+
*`id` - The unique ID of this Reserved IP type (e.g. `reserved-ip`).
62
+
63
+
*`label` - The human-readable label for this Reserved IP type.
64
+
65
+
*`price.0.hourly` - Cost (in US dollars) per hour.
66
+
67
+
*`price.0.monthly` - Cost (in US dollars) per month.
68
+
69
+
*`region_prices.*.id` - The ID of the region this price entry applies to.
70
+
71
+
*`region_prices.*.hourly` - The hourly price for this Reserved IP type in the given region.
72
+
73
+
*`region_prices.*.monthly` - The monthly price for this Reserved IP type in the given region.
Copy file name to clipboardExpand all lines: docs/resources/networking_ip.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ The following arguments are supported:
36
36
37
37
The following arguments are only available when reserving an IP address:
38
38
39
-
*`reserved` - (Optional) Whether this IP address should be a reserved IP.
39
+
*`reserved` - (Optional) Whether this IP address should be a reserved IP. Changing this value on an assigned IP triggers an in-place update (not replacement). Setting `reserved = true` converts an ephemeral IP to reserved. Setting `reserved = false` converts a reserved IP to ephemeral when the address is assigned. If the reserved IP is unassigned, the API deletes the IP as a side effect of setting `reserved = false`, and the provider returns an `IP Address Deleted During Update` error; after this occurs, remove the resource from your Terraform configuration so future applies succeed.
40
40
41
41
*`region` - (Optional) The region where the reserved IP should be allocated.
42
42
@@ -56,6 +56,18 @@ In addition to all arguments above, the following attributes are exported:
56
56
57
57
*`subnet_mask` - The mask that separates host bits from network bits for this address.
58
58
59
+
*`tags` - A set of tags associated with this IP address.
60
+
61
+
*`assigned_entity` - The entity this IP address has been assigned to. This is null if the address is not assigned to an entity.
62
+
63
+
*`id` - The ID of the entity.
64
+
65
+
*`label` - The label of the entity.
66
+
67
+
*`type` - The type of the entity.
68
+
69
+
*`url` - The URL of the entity.
70
+
59
71
*`vpc_nat_1_1` - Contains information about the NAT 1:1 mapping of a public IP address to a VPC subnet.
60
72
61
73
*`address` - The IPv4 address that is configured as a 1:1 NAT for this VPC interface.
Copy file name to clipboardExpand all lines: docs/resources/networking_ip_assignment.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,6 +47,22 @@ The following attributes can be defined under each entry in the `assignments` fi
47
47
48
48
*`id` - The unique ID of this resource.
49
49
50
+
*`assignments` - The list of IP/Linode assignments. In addition to the configurable arguments above, each entry exposes the following computed attributes after assignment:
51
+
52
+
*`reserved` - Whether this IP address is a reserved IP.
53
+
54
+
*`tags` - A set of tags associated with this IP address.
55
+
56
+
*`assigned_entity` - The entity this IP address has been assigned to.
0 commit comments