From f8e0050adcc9c8e6b96f7d3532452bc827289996 Mon Sep 17 00:00:00 2001 From: bbiggerr Date: Fri, 14 Oct 2022 15:37:20 -0400 Subject: [PATCH 1/3] IPv4 Sharing made equivalent to IP Addresses Share --- openapi.yaml | 94 +++++++++++++++++++++------------------------------- 1 file changed, 38 insertions(+), 56 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 8b857539d..cafd3dac0 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -13087,8 +13087,8 @@ paths: x-linode-cli-command: networking post: servers: - - url: https://api.linode.com/v4beta - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta x-linode-grant: read_write tags: - Networking @@ -13096,15 +13096,9 @@ paths: description: | Configure shared IPs. - IP sharing allows IP address reassignment (also referred to as IP failover) from one Linode to another if - the primary Linode becomes unresponsive. This means that requests to the primary Linode's IP address can be - automatically rerouted to secondary Linodes at the configured shared IP addresses. - - IP failover requires configuration of a failover service (such as [Keepalived](/docs/guides/ip-failover-keepalived)) - within the internal system of the primary Linode. + IP sharing allows IP address reassignment (also referred to as IP failover) from one Linode to another if the primary Linode becomes unresponsive. This means that requests to the primary Linode's IP address can be automatically rerouted to secondary Linodes at the configured shared IP addresses. - **Note**: IPv6 range sharing has limited availability in certain regions. Please contact customer support for - assistance in enabling IPv6 range sharing for your Linodes. + IP failover requires configuration of a failover service (such as [Keepalived](/docs/guides/ip-failover-keepalived)) within the internal system of the primary Linode. operationId: shareIPs x-linode-cli-action: ip-share security: @@ -13118,27 +13112,7 @@ paths: content: application/json: schema: - required: - - linode_id - - ips - properties: - linode_id: - type: integer - description: > - The ID of the primary Linode that the addresses will be shared with. - example: 123 - ips: - type: array - items: - type: string - format: ip - description: | - A list of secondary Linode IPs to share with the primary Linode. - * Can include both IPv4 addresses and IPv6 ranges (omit /56 and /64 prefix lengths) - * Can include both private and public IPv4 addresses. - * You must have access to all of these addresses and they must be in the same Region as the primary - Linode. - * Enter an empty array to remove all shared IP addresses. + $ref: '#/components/schemas/IPAddressesShareRequest' responses: '200': description: IP Address sharing successful. @@ -13268,10 +13242,12 @@ paths: tags: - Networking summary: IPv4 Sharing Configure - description: > - Configure shared IPs. A shared IP may be brought up on a Linode other - than the one it lists in its response. This can be used to allow one - Linode to begin serving requests should another become unresponsive. + description: | + Configure shared IPs. This command is equivalent to **IP Addresses Share** ([POST /networking/ips/share](#ip-addresses-share)). + + IP sharing allows IP address reassignment (also referred to as IP failover) from one Linode to another if the primary Linode becomes unresponsive. This means that requests to the primary Linode's IP address can be automatically rerouted to secondary Linodes at the configured shared IP addresses. + + IP failover requires configuration of a failover service (such as [Keepalived](/docs/guides/ip-failover-keepalived)) within the internal system of the primary Linode. operationId: shareIPv4s x-linode-cli-skip: true security: @@ -13285,28 +13261,7 @@ paths: content: application/json: schema: - required: - - linode_id - - ips - properties: - linode_id: - type: integer - description: > - The ID of the Linode that the addresses will be shared with. - example: 123 - ips: - type: array - items: - type: string - format: ip - example: 12.34.56.78 - description: > - A list of IPs that will be shared with this Linode. When - this is finished, the given Linode will be able to bring up - these addresses in addition to the Linodes that these - addresses belong to. You must have access to all of these - addresses and they must be in the same Region as the - Linode. + $ref: '#/components/schemas/IPAddressesShareRequest' responses: '200': description: Sharing configured successfully. @@ -22169,6 +22124,33 @@ components: readOnly: true x-linode-filterable: true x-linode-cli-display: 5 + IPAddressesShareRequest: + type: object + description: A request object IP Addresses Share (POST /networking/ips/share) + required: + - linode_id + - ips + properties: + linode_id: + type: integer + description: > + The ID of the primary Linode that the addresses will be shared with. + example: 123 + ips: + type: array + items: + type: string + format: ip + example: + - "192.0.2.1" + - "2001:db8:3c4d:15::" + description: | + A list of secondary Linode IPs to share with the primary Linode. + * Can include both IPv4 addresses and IPv6 ranges (omit /56 and /64 prefix lengths) + * Can include both private and public IPv4 addresses. + * You must have access to all of these addresses and they must be in the same Region as the primary + Linode. + * Enter an empty array to remove all shared IP addresses. IPAddressPrivate: type: object description: > From d015b5b01d1d052e623c653b013d1bb1dfce17b8 Mon Sep 17 00:00:00 2001 From: bbiggerr Date: Fri, 14 Oct 2022 15:41:19 -0400 Subject: [PATCH 2/3] Update shell and cli examples --- openapi.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index cafd3dac0..89a31f468 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -13134,7 +13134,7 @@ paths: "2001:db8:3c4d:15::" ] }' \ - https://api.linode.com/v4beta/networking/ips/share + https://api.linode.com/v4/networking/ips/share - lang: CLI source: > linode-cli networking ip-share \ @@ -13279,7 +13279,8 @@ paths: -X POST -d '{ "linode_id": 123, "ips": [ - "12.34.56.78" + "192.0.2.1", + "192.0.2.2" ] }' \ https://api.linode.com/v4/networking/ipv4/share @@ -13287,7 +13288,8 @@ paths: source: > linode-cli networking ip-share \ --linode_id 123 \ - --ips 12.34.56.78 + --ips 192.0.2.1 \ + --ips 192.0.2.2 /networking/ipv6/pools: x-linode-cli-command: networking get: From dcb4797353bcfd459bab46e144ff98ed20c9a2f6 Mon Sep 17 00:00:00 2001 From: bbiggerr Date: Mon, 17 Oct 2022 10:12:07 -0400 Subject: [PATCH 3/3] Remove newline --- openapi.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 89a31f468..50cc19ccc 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -22150,8 +22150,7 @@ components: A list of secondary Linode IPs to share with the primary Linode. * Can include both IPv4 addresses and IPv6 ranges (omit /56 and /64 prefix lengths) * Can include both private and public IPv4 addresses. - * You must have access to all of these addresses and they must be in the same Region as the primary - Linode. + * You must have access to all of these addresses and they must be in the same Region as the primary Linode. * Enter an empty array to remove all shared IP addresses. IPAddressPrivate: type: object