From 361a5e5696a702277641dabbdeb2a5c032099d8a Mon Sep 17 00:00:00 2001 From: bbiggerr Date: Wed, 20 Sep 2023 09:13:47 -0400 Subject: [PATCH 1/3] Added ID to LinodeConfigInterface --- openapi.yaml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index c19846882..7861d7fc4 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -22568,6 +22568,10 @@ components: - fullvirt example: paravirt interfaces: + example: + - {"id": 101, "purpose": "public", "ipam_address": null, "label": null} + - {"id": 102, "purpose": "vlan", "ipam_address": "10.0.0.1/24", "label": "vlan-1"} + - {"id": 103, "purpose": "vlan", "ipam_address": "10.0.0.2/24", "label": "vlan-2"} $ref: '#/components/schemas/LinodeConfigInterfaces' helpers: type: object @@ -22622,11 +22626,17 @@ components: description: > The Network Interface to apply to this Linode's configuration profile. properties: + id: + readOnly: true + type: integer + description: The unique ID representing this interface. + example: 101 + x-linode-cli-display: 1 label: type: string minLength: 1 maxLength: 64 - pattern: '/[a-z0-9-]+/' + pattern: '[a-zA-Z0-9-]+' x-linode-filterable: true nullable: true description: | @@ -22643,6 +22653,7 @@ components: 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. example: example-interface + x-linode-cli-display: 2 ipam_address: type: string format: ip/netmask @@ -22677,16 +22688,20 @@ components: * Configuring a `vlan` purpose interface attaches this Linode to the VLAN with the specified `label`. * The Linode is configured to use the specified `ipam_address`, if any. example: vlan + x-linode-cli-display: 3 LinodeConfigInterfaces: type: array items: $ref: '#/components/schemas/LinodeConfigInterface' + minItems: 1 + maxItems: 3 + uniqueItems: true required: - purpose description: | An array of Network Interfaces to add to this Linode's Configuration Profile. - Up to three interface objects can be entered in this array. The position in the array determines the interface to which the settings apply: + At least one and up to three interface objects can be entered in this array. The position in the array determines which of the Linode's network interfaces is configured: - First [0]: eth0 - Second [1]: eth1 @@ -22704,6 +22719,10 @@ components: you will be prompted to select a different data center or contact support. **Note:** See the [VLANs Overview](/docs/products/networking/vlans/#technical-specifications) guide to view additional specifications and limitations. + example: + - {"id": 101, "purpose": "public", "ipam_address": null, "label": null} + - {"id": 102, "purpose": "vlan", "ipam_address": "10.0.0.1/24", "label": "vlan-1"} + - {"id": 103, "purpose": "vlan", "ipam_address": "10.0.0.2/24", "label": "vlan-2"} LinodeRequest: type: object description: Common properties for creating and rebuilding Linodes. From c19f62f572edd2b6aa1bd27eda46ff085b7b8801 Mon Sep 17 00:00:00 2001 From: bbiggerr Date: Wed, 20 Sep 2023 09:24:19 -0400 Subject: [PATCH 2/3] Added NGN VLAN restrictions to Linode Clone and Migrate --- openapi.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 7861d7fc4..efe095934 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -6798,6 +6798,8 @@ paths: Any [tags](/docs/api/tags/#tags-list) existing on the source Linode will be cloned to the target Linode. Linodes utilizing Metadata (`"has_user_data": true`) must be cloned to a new Linode with `metadata.user_data` included with the clone request. + + **Note:** Only Next Generation Network (NGN) data centers support VLANs. If a VLAN is attached to your Linode and you attempt clone it to a non-NGN data center, the cloning will not initiate. If a Linode cannot be cloned because of an incompatibility, you will be prompted to select a different data center or contact support. tags: - Linode Instances operationId: cloneLinodeInstance @@ -8166,6 +8168,8 @@ paths: If you have these features enabled on your Linode and attempt to migrate to an NGN data center, the migration will not initiate. If a Linode cannot be migrated because of an incompatibility, you will be prompted to select a different data center or contact support. + + **Note:** Only Next Generation Network (NGN) data centers support VLANs. If a VLAN is attached to your Linode and you attempt to migrate it to a non-NGN data center, the migration will not initiate. If a Linode cannot be migrated because of an incompatibility, you will be prompted to select a different data center or contact support. tags: - Linode Instances operationId: migrateLinodeInstance @@ -22715,8 +22719,7 @@ components: **Note:** Only Next Generation Network (NGN) data centers support VLANs. Use the Regions ([/regions](/docs/api/regions/)) endpoint to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, - the migration or cloning will not initiate. If a Linode cannot be migrated because of an incompatibility, - you will be prompted to select a different data center or contact support. + the migration or cloning will not initiate. If a Linode cannot be migrated or cloned because of an incompatibility, you will be prompted to select a different data center or contact support. **Note:** See the [VLANs Overview](/docs/products/networking/vlans/#technical-specifications) guide to view additional specifications and limitations. example: From 04488db86c7cb9102d8329fce467e75abc8c115e Mon Sep 17 00:00:00 2001 From: bbiggerr Date: Wed, 20 Sep 2023 09:30:18 -0400 Subject: [PATCH 3/3] Removed extra example in LinodeConfig --- openapi.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index efe095934..5cabdac0f 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -22572,10 +22572,6 @@ components: - fullvirt example: paravirt interfaces: - example: - - {"id": 101, "purpose": "public", "ipam_address": null, "label": null} - - {"id": 102, "purpose": "vlan", "ipam_address": "10.0.0.1/24", "label": "vlan-1"} - - {"id": 103, "purpose": "vlan", "ipam_address": "10.0.0.2/24", "label": "vlan-2"} $ref: '#/components/schemas/LinodeConfigInterfaces' helpers: type: object