Skip to content

Commit 5b4358b

Browse files
authored
Merge pull request #850 from linode/release-4.162.0
Release 4.162.0
2 parents f607060 + cc75897 commit 5b4358b

File tree

1 file changed

+89
-45
lines changed

1 file changed

+89
-45
lines changed

openapi.yaml

Lines changed: 89 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
openapi: 3.0.1
22
info:
3-
version: 4.161.0
3+
version: 4.162.0
44

55
title: Linode API
66
description: |
@@ -6007,6 +6007,8 @@ paths:
60076007
on all Linodes for new accounts created after November 5th, 2019. For more information,
60086008
see our guide on [Running a Mail Server](/docs/guides/running-a-mail-server/).
60096009

6010+
**Important**: You must be an unrestricted User in order to add or modify tags on Linodes.
6011+
60106012
Linodes can be created in a number of ways:
60116013

60126014
* Using a Linode Public Image distribution or a Private Image you created based on another Linode.
@@ -6051,9 +6053,6 @@ paths:
60516053
* Requires a compatible Image. You can determine compatible Images by checking for `cloud-init` under `capabilities` when using Images List ([GET /images](/docs/api/images/#images-list)).
60526054
* Requires a compatible Region. You can determine compatible Regions by checking for `Metadata` under `capabilities` when using Regions List ([GET /regions](/docs/api/regions/#regions-list)).
60536055
* This feature is in beta and is currently limited to certain Regions and distributions. Please be aware that this feature may receive breaking updates in the future. This notice will be removed when this feature is out of beta.
6054-
6055-
**Important**: You must be an unrestricted User in order to add or modify
6056-
tags on Linodes.
60576056
tags:
60586057
- Linode Instances
60596058
operationId: createLinodeInstance
@@ -6644,6 +6643,16 @@ paths:
66446643
* Backups may not be restored across Regions.
66456644
* Only successfully completed Backups that are not undergoing maintenance can be restored.
66466645
* The Linode that the Backup is being restored to must not itself be in the process of creating a Backup.
6646+
6647+
{{< note type="warning" title="Warning: UUID Collisions">}}
6648+
When you restore a backup, the restored disk is assigned the same [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) as the original disk. In most cases, this is acceptable and does not cause issues. However, if you attempt to mount both the original disk and the corresponding restore disk at the same time (by assigning them both to devices in your Configuration Profile's **Block Device Assignment**), you will encounter a UUID "collision".
6649+
6650+
When this happens, the system selects, and mounts, only one of the disks at random. This is due to both disks sharing the same UUID, and your instance *may fail to boot* since it will not be clear which disk is root. If your system does boot, you will not see any immediate indication if you are booted into the restored disk or the original disk, and you will be unable to access both disks at the same time.
6651+
6652+
To avoid this, we recommend only restoring a backup to the same Compute Instance if you do not intend on mounting them at the same time or are comfortable modifying UUIDs. If you need access to files on both the original disk and the restored disk simultaneously (such as needing to copy files between them), we suggest either restoring the backup to a separate Compute Instance or [creating](/docs/api/linode-instances/#linode-create) a new Compute Instance with the desired `backup_id`.
6653+
6654+
To learn more about block device assignments and viewing your disks' UUIDs, see our guide on [Configuration Profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/#block-device-assignment).
6655+
{{< /note >}}
66476656
tags:
66486657
- Linode Instances
66496658
operationId: restoreBackup
@@ -7772,6 +7781,14 @@ paths:
77727781
description: Requested Linode's networking configuration.
77737782
content:
77747783
application/json:
7784+
x-linode-cli-subtables:
7785+
- ipv4.public
7786+
- ipv4.private
7787+
- ipv4.shared
7788+
- ipv4.reserved
7789+
- ipv6.link_local
7790+
- ipv6.slaac
7791+
- ipv6.global
77757792
schema:
77767793
properties:
77777794
ipv4:
@@ -7903,13 +7920,13 @@ paths:
79037920
parameters:
79047921
- name: linodeId
79057922
in: path
7906-
description: The ID of the Linode to look up.
7923+
description: The ID of the Linode.
79077924
required: true
79087925
schema:
79097926
type: integer
79107927
- name: address
79117928
in: path
7912-
description: The IP address to look up.
7929+
description: The IP address.
79137930
required: true
79147931
schema:
79157932
type: string
@@ -7950,9 +7967,9 @@ paths:
79507967
x-linode-grant: read_write
79517968
tags:
79527969
- Linode Instances
7953-
summary: IP Address Update
7970+
summary: IP Address RDNS Update
79547971
description: |
7955-
Updates a the reverse DNS (RDNS) for a particular IP Address associated with this Linode.
7972+
Updates the reverse DNS (RDNS) for a Linode's IP Address. This may be done for both IPv4 and IPv6 addresses.
79567973

79577974
Setting the RDNS to `null` for a public IPv4 address, resets it to the default "ip.linodeusercontent.com" RDNS value.
79587975
operationId: updateLinodeIP
@@ -13062,10 +13079,11 @@ paths:
1306213079
"ports": "22, 80, 443",
1306313080
"addresses": {
1306413081
"ipv4": [
13065-
"192.0.2.0/24"
13082+
"192.0.2.0/24",
13083+
"198.51.100.2/32"
1306613084
],
1306713085
"ipv6": [
13068-
"2001:DB8::/32"
13086+
"2001:DB8::/128"
1306913087
]
1307013088
},
1307113089
"action": "ACCEPT",
@@ -13080,10 +13098,11 @@ paths:
1308013098
"ports": "49152-65535",
1308113099
"addresses": {
1308213100
"ipv4": [
13083-
"192.0.2.0/24"
13101+
"192.0.2.0/24",
13102+
"198.51.100.2/32"
1308413103
],
1308513104
"ipv6": [
13086-
"2001:DB8::/32"
13105+
"2001:DB8::/128"
1308713106
]
1308813107
},
1308913108
"action": "ACCEPT",
@@ -13109,8 +13128,8 @@ paths:
1310913128
--label example-firewall \
1311013129
--rules.outbound_policy ACCEPT \
1311113130
--rules.inbound_policy DROP \
13112-
--rules.inbound '[{"protocol": "TCP", "ports": "22, 80, 8080, 443", "addresses": {"ipv4": ["192.0.2.1", "192.0.2.0/24"], "ipv6": ["2001:DB8::/32"]}, "action": "ACCEPT"}]' \
13113-
--rules.outbound '[{"protocol": "TCP", "ports": "49152-65535", "addresses": {"ipv4": ["192.0.2.0/24"],"ipv6": ["2001:DB8::/32"]}, "action": "DROP", "label": "outbound-rule123", "description": "An example outbound rule description."}]'
13131+
--rules.inbound '[{"protocol": "TCP", "ports": "22, 80, 8080, 443", "addresses": {"ipv4": ["192.0.2.0/24", "198.51.100.2/32"], "ipv6": ["2001:DB8::/128"]}, "action": "ACCEPT"}]' \
13132+
--rules.outbound '[{"protocol": "TCP", "ports": "49152-65535", "addresses": {"ipv4": ["192.0.2.0/24", "198.51.100.2/32"],"ipv6": ["2001:DB8::/128"]}, "action": "DROP", "label": "outbound-rule123", "description": "An example outbound rule description."}]'
1311413133
/networking/firewalls/{firewallId}:
1311513134
parameters:
1311613135
- name: firewallId
@@ -13512,6 +13531,9 @@ paths:
1351213531
description: The requested Firewall Rules.
1351313532
content:
1351413533
application/json:
13534+
x-linode-cli-subtables:
13535+
- inbound
13536+
- outbound
1351513537
schema:
1351613538
$ref: '#/components/schemas/Firewall/properties/rules'
1351713539
default:
@@ -13534,7 +13556,7 @@ paths:
1353413556
description: |
1353513557
Updates the inbound and outbound Rules for a Firewall.
1353613558

13537-
**Note:** This command replaces all of a Firewall's `inbound` and/or `outbound` rulesets with the values specified in your request.
13559+
**Note:** This command replaces all of a Firewall's `inbound` and `outbound` rulesets with the values specified in your request.
1353813560
operationId: updateFirewallRules
1353913561
x-linode-cli-action: rules-update
1354013562
security:
@@ -13545,6 +13567,9 @@ paths:
1354513567
description: The Firewall Rules information to update.
1354613568
content:
1354713569
application/json:
13570+
x-linode-cli-subtables:
13571+
- inbound
13572+
- outbound
1354813573
schema:
1354913574
allOf:
1355013575
- $ref: '#/components/schemas/Firewall/properties/rules'
@@ -13581,10 +13606,11 @@ paths:
1358113606
"ports": "22, 80, 443",
1358213607
"addresses": {
1358313608
"ipv4": [
13584-
"192.0.2.0/24"
13609+
"192.0.2.0/24",
13610+
"198.51.100.2/32"
1358513611
],
1358613612
"ipv6": [
13587-
"2001:DB8::/32"
13613+
"2001:DB8::/128"
1358813614
]
1358913615
},
1359013616
"action": "ACCEPT",
@@ -13599,10 +13625,11 @@ paths:
1359913625
"ports": "49152-65535",
1360013626
"addresses": {
1360113627
"ipv4": [
13602-
"192.0.2.0/24"
13628+
"192.0.2.0/24",
13629+
"198.51.100.2/32"
1360313630
],
1360413631
"ipv6": [
13605-
"2001:DB8::/32"
13632+
"2001:DB8::/128"
1360613633
]
1360713634
},
1360813635
"action": "ACCEPT",
@@ -13615,8 +13642,8 @@ paths:
1361513642
- lang: CLI
1361613643
source: >
1361713644
linode-cli firewalls rules-update 123 \
13618-
--inbound '[{"action":"ACCEPT", "protocol": "TCP", "ports": "22, 80, 8080, 443", "addresses": {"ipv4": ["192.0.2.1/32", "192.0.2.0/24"], "ipv6": ["2001:DB8::/32"]}}]' \
13619-
--outbound '[{"action":"DROP","protocol": "TCP", "ports": "49152-65535", "addresses": {"ipv4": ["192.0.2.1/32", "192.0.2.0/24"], "ipv6": ["2001:DB8::/32"]}}]'
13645+
--inbound '[{"action":"ACCEPT", "protocol": "TCP", "ports": "22, 80, 8080, 443", "addresses": {"ipv4": ["192.0.2.0/24", "198.51.100.2/32"], "ipv6": ["2001:DB8::/128"]}}]' \
13646+
--outbound '[{"action":"DROP","protocol": "TCP", "ports": "49152-65535", "addresses": {"ipv4": ["192.0.2.0/24", "198.51.100.2/32"], "ipv6": ["2001:DB8::/128`"]}}]'
1362013647
/networking/vlans:
1362113648
x-linode-cli-command: vlans
1362213649
get:
@@ -20342,7 +20369,7 @@ components:
2034220369

2034320370
`CAA`: The value. For `issue` or `issuewild` tags, the domain of your certificate issuer. For the `iodef`
2034420371
tag, a contact or submission URL (domain, http, https, or mailto). Requirements depend on the tag for this record:
20345-
* `issue`: The domain of your certificate issuer. Must be a valid domain.
20372+
* `issue`: The domain of your certificate issuer. Must include a valid domain. May include additional parameters separated with semicolons (`;`), for example: `www.example.com; foo=bar`
2034620373
* `issuewild`: The domain of your wildcard certificate issuer. Must be a valid domain and must not start with an asterisk (`*`).
2034720374
* `iodef`: Must be either (1) a valid domain, (2) a valid domain prepended with `http://` or `https://`, or (3) a valid email address prepended with `mailto:`.
2034820375

@@ -20942,6 +20969,8 @@ components:
2094220969
The inbound and outbound access rules to apply to the Firewall.
2094320970

2094420971
A Firewall may have up to 25 rules across its inbound and outbound rulesets.
20972+
20973+
Multiple rules are applied in order. If two rules conflict, the first rule takes precedence. For example, if the first rule accepts inbound traffic from an address, and the second rule drops inbound traffic the same address, the first rule applies and inbound traffic from that address is accepted.
2094520974
properties:
2094620975
inbound:
2094720976
type: array
@@ -20998,41 +21027,49 @@ components:
2099821027
- ICMP
2099921028
- IPENCAP
2100021029
description: >
21001-
The type of network traffic to allow.
21030+
The type of network traffic affected by this rule.
2100221031
example: TCP
2100321032
ports:
2100421033
type: string
21034+
nullable: true
2100521035
description: |
21006-
A string representing the port or ports on which traffic will be allowed:
21036+
A string representing the port or ports affected by this rule:
2100721037

2100821038
- The string may be a single port, a range of ports, or a comma-separated list of single ports and port ranges. A space is permitted following each comma.
2100921039
- A range of ports is inclusive of the start and end values for the range. The end value of the range must be greater than the start value.
2101021040
- Ports must be within 1 and 65535, and may not contain any leading zeroes. For example, port "080" is not allowed.
21011-
- Ports may not be specified if a rule's protocol is `ICMP` or `IPENCAP`.
21012-
- At least one port must be specified if a rule's protocol is `TCP` or `UDP`.
2101321041
- The ports string can have up to 15 *pieces*, where a single port is treated as one piece, and a port range is treated as two pieces. For example, the string "22-24, 80, 443" has four pieces.
21042+
- If no ports are configured, all ports are affected.
21043+
- Only allowed for the TCP and UDP protocols. Ports are not allowed for the ICMP and IPENCAP protocols.
2101421044
example: '22-24, 80, 443'
2101521045
addresses:
2101621046
type: object
21017-
description: >
21018-
Allowed IPv4 or IPv6 addresses. A Rule can have up to 255 addresses
21019-
or networks listed across its IPv4 and IPv6 arrays. A network and a single IP
21020-
are treated as equivalent when accounting for this limit.
21047+
description: |
21048+
The IPv4 and/or IPv6 addresses affected by this rule. A Rule can have up to 255 total addresses or networks listed across its IPv4 and IPv6 arrays. A network and a single IP are treated as equivalent when accounting for this limit.
21049+
21050+
Must contain `ipv4`, `ipv6`, or both.
2102121051
properties:
2102221052
ipv4:
21023-
description: A list of IPv4 addresses or networks. Must be in IP/mask format.
21053+
description: |
21054+
A list of IPv4 addresses or networks. Addresses must be in IP/mask format. Must not be an empty list.
21055+
21056+
If "0.0.0.0/0" is included in this list, all IPv4 addresses are affected by this rule.
2102421057
type: array
2102521058
items:
2102621059
type: string
2102721060
example:
2102821061
- 192.0.2.0/24
21062+
- 198.51.100.2/32
2102921063
ipv6:
21030-
description: A list of IPv6 addresses or networks. Must be in IP/mask format.
21064+
description: |
21065+
A list of IPv6 addresses or networks. Addresses must be in IP/mask format. Must not be an empty list.
21066+
21067+
If "::/0" is included in this list, all IPv6 addresses are affected by this rule.
2103121068
type: array
2103221069
items:
2103321070
type: string
2103421071
example:
21035-
- 2001:DB8::/32
21072+
- 2001:DB8::/128
2103621073
action:
2103721074
type: string
2103821075
enum:
@@ -22582,13 +22619,16 @@ components:
2258222619
description: |
2258322620
The name of this interface.
2258422621

22585-
Required for `vlan` purpose interfaces. Must be an empty string or `null` for `public` purpose interfaces.
22622+
For `vlan` purpose interfaces:
22623+
* Required.
22624+
* Must be unique among the Linode's interfaces (a Linode cannot be attached to the same VLAN multiple times).
22625+
* May only consist of ASCII letters, numbers, and dashes (`-`).
2258622626

22587-
If the VLAN label is new, a VLAN is created. Up to 10 VLANs can be created in each data center region. To view your active VLANs, use the [VLANs List](/docs/api/networking/#vlans-list) endpoint.
22588-
22589-
May only consist of ASCII letters, numbers, and dashes (`-`).
22627+
For `public` purpose interfaces:
22628+
* In requests, must be an empty string (`""`) or `null` if included.
22629+
* In responses, always returns `null`.
2259022630

22591-
Must be unique among the Linode's interfaces.
22631+
If the VLAN label is new, a VLAN is created. Up to 10 VLANs can be created in each data center region. To view your active VLANs, use the [VLANs List](/docs/api/networking/#vlans-list) endpoint.
2259222632
example: example-interface
2259322633
ipam_address:
2259422634
type: string
@@ -22597,11 +22637,15 @@ components:
2259722637
description: |
2259822638
This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.
2259922639

22600-
Only used for `vlan` purpose interfaces. Must be an empty string or `null` for `public` purpose interfaces.
22640+
For `vlan` purpose interfaces:
22641+
* Must be unique among the Linode's interfaces to avoid conflicting addresses.
22642+
* Should be unique among devices attached to the VLAN to avoid conflict.
2260122643

22602-
The Linode is configured to use this address for the associated interface upon reboot if Network Helper is enabled. If Network Helper is disabled, the address can be enabled with [manual static IP configuration](/docs/guides/manual-network-configuration/).
22644+
For `public` purpose interfaces:
22645+
* In requests, must be an empty string (`""`) or `null` if included.
22646+
* In responses, always returns `null`.
2260322647

22604-
Must be unique among the Linode's interfaces.
22648+
The Linode is configured to use this address for the associated interface upon reboot if Network Helper is enabled. If Network Helper is disabled, the address can be enabled with [manual static IP configuration](/docs/guides/manual-network-configuration/).
2260522649
example: '10.0.0.1/24'
2260622650
purpose:
2260722651
type: string
@@ -22614,7 +22658,7 @@ components:
2261422658
* `public`
2261522659
* Only one `public` interface per Linode can be defined.
2261622660
* The Linode's default public IPv4 address is assigned to the `public` interface.
22617-
* A Linode must have a public interface in the first/eth0 position to be reachable via the public internet upon boot without additional system configuration. If no `public` interface is configured, the Linode is not directly reachable via the public internet. In this case, access can only be established via LISH or other Linodes connected to the same VLAN.
22661+
* A Linode must have a public interface in the first/eth0 position to be reachable via the public internet upon boot without additional system configuration. If no `public` interface is configured, the Linode is not directly reachable via the public internet. In this case, access can only be established via [LISH](/docs/products/compute/compute-instances/guides/lish/) or other Linodes connected to the same VLAN.
2261822662

2261922663
* `vlan`
2262022664
* Configuring a `vlan` purpose interface attaches this Linode to the VLAN with the specified `label`.
@@ -22631,9 +22675,9 @@ components:
2263122675

2263222676
Up to three interface objects can be entered in this array. The position in the array determines the interface to which the settings apply:
2263322677

22634-
- First/0: eth0
22635-
- Second/1: eth1
22636-
- Third/2: eth2
22678+
- First [0]: eth0
22679+
- Second [1]: eth1
22680+
- Third [2]: eth2
2263722681

2263822682
When updating a Linode's interfaces, *each interface must be redefined*. An empty interfaces array results in a default public interface configuration only.
2263922683

0 commit comments

Comments
 (0)