openapi: 3.2.0 info: contact: email: support@linode.com name: Linode url: https://linode.com description: Add a Cloud Computing instance so you can build, release, and scale applications faster with virtual machines. license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html title: 'Akamai: Linode Linode interfaces API' version: 4.215.0 servers: - url: https://api.linode.com tags: - description: A Linode interface lets you set up networking on your Linode. A Linode interface links to the Linode, rather than to a legacy configuration profile. Use these operations to manage the Linode interfaces on your Linodes. name: Linode interfaces paths: /{apiVersion}/linode/instances/{linodeId}/interfaces: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: The `id` of the Linode. example: '{{linodeId}}' in: path name: linodeId required: true schema: example: 234 type: integer x-akamai: file-path: parameters/linode-id.yaml x-akamai: file-path: paths/linode-interfaces.yaml path-info: /{apiVersion}/linode/instances/{linodeId}/interfaces status: BETA x-linode-cli-command: linodes post: description: '__Beta__ Creates an interface for the Linode. This interface links to the Linode, rather than to a configuration profile. You can create, delete, or update interfaces when the Linode is either powered off or in the process of being created. Firewalls are applied to the Linode interface, not directly to the Linode itself. You can add, delete, or update these firewalls at any time. This operation requires the `read_write` grant for the Linode. A successful request triggers an `interface_create` event. You need to set one interface type: `vpc`, `public`, or `vlan`. Omit the others or set them to `null`. A Linode can have up to three interfaces: - Only one `public` interface is allowed on a Linode. - Multiple `vlan` interfaces are allowed, provided that they belong to distinct VLANs, which have unique `vlan_labels`. - One `vpc` interface is allowed. The Linode must be located in a region that supports Linode interfaces. Run Get a region to see if interfaces are supported in that region. > --- - __CLI: Public interface__. ``` linode-cli linodes interface-add $linodeId \ --firewall_id 123 \ --default_route.ipv4 true \ --default_route.ipv6 true \ --public.ipv4.addresses ''[{"address": "192.0.2.141", "primary": true}, {"address": "auto", "primary": false}]'' \ --public.ipv6.ranges ''[{"range": "2001:0db8::1/64"}, {"range": "/64"}]'' ``` Learn more... - __CLI: VLAN interface__. ``` linode-cli linodes interface-add $linodeId \ --vlan.vlan_label my-vlan \ --vlan.ipam_address 192.168.2.2/24 ``` Learn more... - __CLI: VPC interface__. ``` linode-cli linodes interface-add $linodeId \ --firewall_id 123 \ --default_route.ipv4 true \ --vpc.subnet_id 321 \ --vpc.ipv4.addresses ''[{"address": "10.0.0.1", "primary": true, "nat_1_1_address": "auto"}, {"address": "auto", "primary": false, "nat_1_1_address": null}]'' \ --vpc.ipv4.ranges ''[{"range": "/28"}, {"range": "10.11.12.0/24"}]'' ``` Learn more... - __OAuth scopes__. ``` linodes:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/post-linode-interface operationId: post-linode-interface requestBody: content: application/json: schema: description: 'Defines Linode interfaces. You can configure interfaces for one of the following types: `vpc`, `public`, or `vlan`. Any other type must either be omitted or set to `null`.' oneOf: - additionalProperties: false description: Defines a Linode public interface. Any other type must either be omitted or set to `null`. properties: default_route: additionalProperties: false description: Indicates if the interface serves as the default route when multiple interfaces are eligible for this role. A public interface can have both an IPv4 `default_route` and an IPv6 `default_route`, provided it has at least one IP address of the corresponding type. properties: ipv4: additionalProperties: false description: If set to `true`, the interface is used for the IPv4 `default_route`. Only one interface per Linode can be set as the IPv4 default route. example: true type: - boolean - 'null' ipv6: additionalProperties: false description: If set to `true`, the interface is used for the IPv6 `default_route`. Only one interface per Linode can have the IPv6 default route. example: true type: - boolean - 'null' type: object firewall_id: additionalProperties: false description: The enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces. If a `firewall_id` is not provided for a VPC or a public interface, then its [default interface firewall](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-firewalls) is used. If a default firewall is not available, and `null` is not specified, the request fails. Setting the `firewall_id` as `null` indicates that no firewall device will be attached to the interface. example: - 123 - null type: - integer - 'null' public: additionalProperties: false description: Public interface settings. A Linode can have only one public interface. A public interface can have both IPv4 and IPv6 configurations. properties: ipv4: description: IPv4 address settings for this public interface. If omitted, a public IPv4 address is automatically allocated. properties: addresses: description: List of IPv4 addresses to assign to this interface. Setting any to `auto` allocates a public IPv4 address. To create a public interface that uses IPv6 and no IPv4, set the IPv4 address as an empty list `[]`. items: additionalProperties: false properties: address: anyOf: - example: 192.0.2.141 format: ip minLength: 1 title: User assigned IPv4 type: string - enum: - auto title: Automatically assigned IPv4 type: string - example: [] title: No IPv4 [empty list] type: string default: auto description: The interface's public IPv4 address. You can specify which public IPv4 address to configure for the interface. Setting this to `auto` automatically allocates a public address. To create a public interface that uses IPv6 and no IPv4, set the IPv4 address as an empty list `[]`. If the address is a reserved or automatically assigned, it needs to be reserved or already assigned to a single Linode, and it can’t be assigned to any other interface. type: string primary: default: false description: 'The IPv4 primary address configures the source address for routes within the Linode on the corresponding network interface. - Don''t set this to `false` if there''s only one address in the `addresses` array. - If more than one address is provided, primary can be set to `true` for one address. - If only one address is present in the `addresses` array, this address is automatically set as the primary address.' example: true type: boolean type: object type: array type: object ipv6: description: IPv6 address settings for the public interface. properties: ranges: additionalProperties: false description: IPv6 address ranges to assign to this interface. If omitted, no ranges are assigned. items: properties: range: description: 'Your assigned IPv6 range in CIDR notation (`2001:0db8::1/64`) or prefix (`/64`). - The prefix of `/64` or `/56` block of IPv6 addresses. - If provided in CIDR notation, the prefix must be within the assigned ranges for the Linode.' example: 2001:0a0a::1/64 type: string required: - range type: object type: array type: object type: - object - 'null' title: Public interface type: object x-akamai: file-path: schemas/added-post-linode-interface-public.yaml - additionalProperties: false description: Defines a Linode VLAN interface. Any other type must either be omitted or set to `null`. properties: vlan: additionalProperties: false description: VLAN interface settings. A Linode can have up to three VLAN interfaces, with a unique `vlan_label` for each. properties: ipam_address: description: This VLAN interface's private IPv4 address in classless inter-domain routing (CIDR) notation. example: 10.0.0.1/24 format: ip/netmask type: string x-linode-cli-display: 4 vlan_label: description: The VLAN's unique label. VLAN interfaces on the same Linode must have a unique `vlan_label`. example: my-vlan maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 type: - object - 'null' title: VLAN interface type: object x-akamai: file-path: schemas/added-post-linode-interface-vlan.yaml - additionalProperties: false description: Defines a Linode VPC interface. Any other type must either be omitted or set to `null`. properties: default_route: additionalProperties: false description: Indicates if the interface is used as the default route when multiple interfaces are eligible for this role. A VPC interface can have an IPv4 `default_route`. properties: ipv4: description: If set to `true`, the interface is used for the IPv4 `default_route`. Only one interface per Linode can be set as the IPv4 default route. example: true type: - boolean - 'null' type: object firewall_id: additionalProperties: false description: The enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces. If a `firewall_id` is not provided for a VPC or a public interface, then its default interface firewall is used. If a default firewall is not available, and `null` is not specified, the request fails. Setting the `firewall_id` as `null` indicates that no firewall device will be attached to the interface. example: - 123 - null type: - integer - 'null' vpc: additionalProperties: false description: VPC interface settings. A Linode can have one VPC interface. The maximum number of interfaces allowed on a Linode is three. properties: ipv4: additionalProperties: false description: Interfaces can be configured with IPv4 addresses or ranges. properties: addresses: description: IPv4 address settings for this VPC interface. items: properties: address: anyOf: - example: 10.0.0.1 format: ip minLength: 1 title: User assigned IPv4 from the VPC subnet type: string - enum: - auto title: Automatically assigned IPv4 type: string default: auto description: Specifies which IPv4 address to use in the VPC subnet. You can specify which VPC Ipv4 address in the subnet to configure for the interface. You can't use an IPv4 address taken from another Linode or interface, or the first two or last two addresses in the VPC subnet. When `address` is set to `auto`, an IP address from the subnet is automatically assigned. type: string nat_1_1_address: anyOf: - example: 203.0.113.2 format: ip minLength: 1 title: User assigned public IPv4 type: string - enum: - auto title: Automatically assigned public IPv4 type: string default: null description: 'The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface''s VPC subnet IPv4 address. - You can set this to a specific public IPv4 address that''s available on the Linode. - If set to `auto`, a public IPv4 address is automatically selected. - If a public IPv4 address or `auto` is specified, primary must be set to `true`. - The address can''t be used on another Linode. - If the address is a reserved or an automatically assigned IP, the IP must be reserved or already assigned to a single Linode, and not assigned to an interface. - If this property is omitted or set to `null`, no 1:1 NAT configuration will be applied to the VPC interface.' type: - string - 'null' primary: default: false description: 'The IPv4 primary address is used to configure the source address for routes within the Linode on the corresponding network interface. Should not be set to `false` if there is only one address present in the `addresses` array. If more than one address is provided, primary must be set to `true` for one address. If only one address is present in the `addresses` array, this address is automatically set as the primary address.' example: true type: - boolean - 'null' type: object type: array ranges: description: VPC IPv4 ranges. items: additionalProperties: false properties: range: description: 'CIDR notation of a range (`1.2.3.4/24`) or prefix only (`/24`). - When only the prefix is provided, then an available range of that size within the VPC''s subnet is automatically selected. - If specified as CIDR notation, it must belong to the VPC subnet. All addresses in the range must not be taken by any other Linode or interfaces in the VPC subnet and must not include any of the first two or last two addresses of the VPC subnet.' example: - 192.168.100.100/28 - 192.168.100.110/28 - /28 - 10.11.12.0/24 - auto type: string required: - range type: object type: array type: object subnet_id: description: The VPC subnet identifier for this interface. Your subnet’s VPC must be in the same data center (region) as the Linode. example: 321 type: integer required: - subnet_id type: - object - 'null' title: VPC interface type: object x-akamai: file-path: schemas/added-post-linode-interface-vpc.yaml type: object x-akamai: file-path: schemas/added-post-linode-interface.yaml x-example: x-ref: ../examples/linode-interface.json description: Create an interface for an existing Linode. responses: '200': content: application/json: examples: ex-public: summary: Public interface value: created: '2025-01-01T00:01:01' default_route: ipv4: true ipv6: true id: 1234 mac_address: 22:00:AB:CD:EF:01 public: ipv4: addresses: - address: 172.30.0.50 primary: true shared: - address: 172.30.0.51 linode_id: 12345 ipv6: ranges: - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef shared: - range: 2001:DB8::/64 route_target: null slaac: - address: 2600:3c09::ff:feab:cdef prefix: 64 updated: '2025-01-01T00:01:01' version: 1 vlan: null vpc: null ex-vlan: summary: VLAN interface value: created: '2025-01-01T00:01:01' default_route: {} id: 1234 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2025-01-01T00:01:01' version: 1 vlan: ipam_address: 10.0.0.1/24 vlan_label: my-vlan vpc: null ex-vpc: summary: VPC interface value: created: '2025-01-01T00:01:01' default_route: ipv4: true id: 1234 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2025-01-01T00:02:01' version: 1 vlan: null vpc: ipv4: addresses: - address: 192.168.22.3 primary: true ranges: - range: 192.168.22.16/28 - range: 192.168.22.32/28 subnet_id: 1234 vpc_id: 1234 schema: description: 'One of the following interface types: VPC, public, or VLAN.' oneOf: - additionalProperties: false description: A public interface configuration defines the properties and settings for a specific public interface in the Linode network. properties: created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 default_route: additionalProperties: false description: Indicates if the interface is used as a default route. properties: ipv4: default: false description: Indicates if the interface is used for the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 ipv6: default: false description: Indicates if the interface is used for the IPv6 default route. Only one interface per Linode can have the IPv6 default route. example: true type: boolean x-linode-cli-display: 6 type: - object - 'null' id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. A public interface's `mac_address` does not change, even if the public interface is deleted and then recreated. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: additionalProperties: false description: Public interface type. properties: ipv4: additionalProperties: false description: The interface's public IPv4 `addresses`. properties: addresses: description: The public IPv4 addresses and primary settings for this public interface. items: additionalProperties: false properties: address: description: The public IPv4 address assigned to this interface. example: 172.232.100.100 type: string x-linode-cli-display: 8 primary: description: Indicates if the public IPv4 address serves as the source address for traffic routing within the Linode and other corresponding network interfaces and services. example: true type: boolean x-linode-cli-display: 9 type: object type: array shared: description: The IPv4 address assigned to this Linode interface, which is also shared with another Linode. items: additionalProperties: false properties: address: description: Shared IPv4 address. example: 172.222.33.4 type: string x-linode-cli-display: 10 linode_id: description: The ID of the Linode this address currently belongs to. For IPv4 addresses, by default this is the Linode this address was assigned when created. example: 12345 type: string x-linode-cli-display: 11 type: object type: array type: object ipv6: additionalProperties: false description: The interface's public IPv6 configuration. properties: ranges: description: List of IPv6 ranges assigned to this interface. items: additionalProperties: false properties: range: description: IPv6 range in CIDR notation (`2600:0db8::1/64`) or prefix-only (`/64`). example: 2600:3c09:e001:59::/64 type: string x-linode-cli-display: 16 route_target: description: The public IPv6 address that the `range` is routed to. example: 2600:3c09::ff:feab:cdef type: string x-linode-cli-display: 17 type: object type: array shared: description: The IPv6 address assigned to this Linode interface, which is also shared with another Linode. items: additionalProperties: false properties: range: description: The IPv6 address range. example: 2600:3c09:e001:2a::/64 type: string x-linode-cli-display: 14 route_target: description: The public IPv6 address that the `range` is routed to. example: null type: string x-linode-cli-display: 15 type: object type: array slaac: description: The public `slaac` and subnet prefix settings for this public interface that is used to communicate over the public internet, and with other services in the same data center. items: additionalProperties: false properties: address: description: Public IPv6 addresses assigned to this interface. example: 2600:3c09::ff:feab:cdef type: string x-linode-cli-display: 12 prefix: description: The prefix length advertised for SLAAC to use. Only the specific (`/128`) EUI-64 address derived from the interface's MAC address is supported. To ensure the MAC-based EUI-64 address is used, privacy addressing needs to be disabled. Network Helper automatically configures the MAC-derived EUI-64 address. If you disable Network Helper or use an unsupported operating system, follow the specific instructions for your OS. example: 64 type: integer x-linode-cli-display: 13 type: object type: array type: object type: object updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: Interface version number that increments when the interface updates. example: 1 type: integer x-linode-cli-display: 7 vlan: description: The value is `null` if this is not a VLAN interface. example: null type: - object - 'null' vpc: additionalProperties: false description: The value is `null` if this is not a VPC interface. example: null type: - object - 'null' title: Public interface type: object x-akamai: file-path: schemas/linode-interface-public.yaml - additionalProperties: false description: A VLAN interface configuration defines the properties and settings for a specific VLAN interface in the Linode network. properties: created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. The `mac_address` of an interface remains constant and does not change. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: description: The value is `null` if this isn't a public interface. example: null type: - object - 'null' updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: Interface version number that is incremented when the interface is updated. example: 1 type: integer x-linode-cli-display: 5 vlan: additionalProperties: false description: VLAN interface type. properties: ipam_address: description: This VLAN interface's private IPv4 address in classless inter-domain routing (CIDR) notation. example: 10.0.0.1/24 format: ip/netmask type: - string - 'null' x-linode-cli-display: 7 vlan_label: description: The VLAN's label. VLAN interfaces on the same Linode must have a unique `vlan_label`. example: my-vlan type: string x-linode-cli-display: 6 type: object vpc: description: The value is `null` if this isn't a VPC interface. example: null type: - object - 'null' title: VLAN interface type: object x-akamai: file-path: schemas/linode-interface-vlan.yaml - additionalProperties: false description: A VPC interface configuration defines settings for a specific VPC interface in the Linode network. properties: created: description: When the interface was created. example: '2025-01-01 00:01:01' format: date-time type: string x-linode-cli-display: 3 default_route: additionalProperties: false description: Indicates if the interface serves as a default route. properties: ipv4: default: false description: Indicates if the interface serves as the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 type: object id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. The `mac_address` of an interface remains constant and does not change. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: additionalProperties: false description: The value is `null` if this is not a public interface. example: null type: - object - 'null' updated: description: When the interface last updated. example: '2025-01-01 00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: The version number of the interface configuration, incremented each time the interface is updated. example: 1 type: integer x-linode-cli-display: 6 vlan: additionalProperties: false description: The value is `null` if this is not a VLAN interface. example: null type: - object - 'null' vpc: additionalProperties: false description: VPC interface type. properties: ipv4: additionalProperties: false description: The interface's IPv4 `addresses` and `ranges` configuration. properties: addresses: description: IPv4 address settings for this VPC interface. items: additionalProperties: false properties: address: description: The VPC subnet IPv4 address. example: 192.168.22.3 type: string x-linode-cli-display: 9 nat_1_1_address: description: The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address. example: null type: - string - 'null' x-linode-cli-display: 11 primary: description: Indicates if the IPv4 address is used to set up a source address for routes inside the Linode for the corresponding network interface. example: true type: boolean x-linode-cli-display: 10 type: object type: array ranges: description: VPC IPv4 ranges. items: additionalProperties: false properties: range: description: CIDR notation of a range (`1.2.3.4/24`) or prefix only (`/24`). example: 192.168.22.16/28 type: string x-linode-cli-display: 12 type: object type: array type: object subnet_id: description: VPC subnet's unique identifier. example: 1234 type: integer x-linode-cli-display: 8 vpc_id: description: VPC's unique identifier. example: 1234 type: integer x-linode-cli-display: 7 type: object title: VPC interface type: object x-akamai: file-path: schemas/linode-interface-vpc.yaml type: object x-akamai: file-path: schemas/linode-interface.yaml description: The Linode interface was successfully added. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - linodes:read_write summary: Add a Linode interface tags: - Linode interfaces x-akamai: status: BETA tabs: - syntax: "linode-cli linodes interface-add $linodeId \\\n --firewall_id 123 \\\n --default_route.ipv4 true \\\n --default_route.ipv6 true \\\n --public.ipv4.addresses '[{\"address\": \"192.0.2.141\", \"primary\": true}, {\"address\": \"auto\", \"primary\": false}]' \\\n --public.ipv6.ranges '[{\"range\": \"2001:0db8::1/64\"}, {\"range\": \"/64\"}]'" title: 'CLI: Public interface' url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: "linode-cli linodes interface-add $linodeId \\\n --vlan.vlan_label my-vlan \\\n --vlan.ipam_address 192.168.2.2/24" title: 'CLI: VLAN interface' url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: "linode-cli linodes interface-add $linodeId \\\n --firewall_id 123 \\\n --default_route.ipv4 true \\\n --vpc.subnet_id 321 \\\n --vpc.ipv4.addresses '[{\"address\": \"10.0.0.1\", \"primary\": true, \"nat_1_1_address\": \"auto\"}, {\"address\": \"auto\", \"primary\": false, \"nat_1_1_address\": null}]' \\\n --vpc.ipv4.ranges '[{\"range\": \"/28\"}, {\"range\": \"10.11.12.0/24\"}]'" title: 'CLI: VPC interface' url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: linodes:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: interface-add x-linode-grant: read_write get: description: '__Beta__ This operation returns all interfaces assigned to a specific Linode. They list in the order they were created. On the Linode, interfaces also list in this order, and are typically named `eth0`, `eth1`, `eth2`, and so on. The MAC address is the most reliable method to identify an interface. This operation requires the `read_only` grant for the Linode. The Linode needs to use `interfaces` and not configuration profile interfaces. Run Get account settings to see if Linode interfaces are supported. > --- - __CLI__. ``` linode-cli linodes interfaces-list $linodeId ``` Learn more... - __OAuth scopes__. ``` linodes:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-linode-interfaces operationId: get-linode-interfaces responses: '200': content: application/json: examples: ex-public: summary: Public interface value: interfaces: - created: '2025-01-01T00:01:01' default_route: ipv4: true ipv6: true id: 1234 mac_address: 22:00:AB:CD:EF:01 public: ipv4: addresses: - address: 172.30.0.50 primary: true shared: - address: 172.30.0.51 linode_id: 12345 ipv6: ranges: - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef shared: - range: 2001:DB8::/64 route_target: null slaac: - address: 2600:3c09::ff:feab:cdef prefix: 64 updated: '2025-01-01T00:01:01' version: 1 vlan: null vpc: null ex-vlan: summary: VLAN interface value: interfaces: - created: '2025-01-01T00:01:01' default_route: {} id: 1234 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2025-01-01T00:01:01' version: 1 vlan: ipam_address: 10.0.0.1/24 vlan_label: my-vlan vpc: null ex-vpc: summary: VPC interface value: interfaces: - created: '2025-01-01T00:01:01' default_route: ipv4: true id: 1234 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2025-01-01T00:02:01' version: 1 vlan: null vpc: ipv4: addresses: - address: 192.168.22.3 primary: true ranges: - range: 192.168.22.16/28 - range: 192.168.22.32/28 subnet_id: 1234 vpc_id: 1234 schema: additionalProperties: false properties: interfaces: description: 'Any of the following interface types: VPC, public, or VLAN.' items: additionalProperties: false anyOf: - additionalProperties: false description: A public interface configuration defines the properties and settings for a specific public interface in the Linode network. properties: created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 default_route: additionalProperties: false description: Indicates if the interface is used as a default route. properties: ipv4: default: false description: Indicates if the interface is used for the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 ipv6: default: false description: Indicates if the interface is used for the IPv6 default route. Only one interface per Linode can have the IPv6 default route. example: true type: boolean x-linode-cli-display: 6 type: - object - 'null' id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. A public interface's `mac_address` does not change, even if the public interface is deleted and then recreated. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: additionalProperties: false description: Public interface type. properties: ipv4: additionalProperties: false description: The interface's public IPv4 `addresses`. properties: addresses: description: The public IPv4 addresses and primary settings for this public interface. items: additionalProperties: false properties: address: description: The public IPv4 address assigned to this interface. example: 172.232.100.100 type: string x-linode-cli-display: 8 primary: description: Indicates if the public IPv4 address serves as the source address for traffic routing within the Linode and other corresponding network interfaces and services. example: true type: boolean x-linode-cli-display: 9 type: object type: array shared: description: The IPv4 address assigned to this Linode interface, which is also shared with another Linode. items: additionalProperties: false properties: address: description: Shared IPv4 address. example: 172.222.33.4 type: string x-linode-cli-display: 10 linode_id: description: The ID of the Linode this address currently belongs to. For IPv4 addresses, by default this is the Linode this address was assigned when created. example: 12345 type: string x-linode-cli-display: 11 type: object type: array type: object ipv6: additionalProperties: false description: The interface's public IPv6 configuration. properties: ranges: description: List of IPv6 ranges assigned to this interface. items: additionalProperties: false properties: range: description: IPv6 range in CIDR notation (`2600:0db8::1/64`) or prefix-only (`/64`). example: 2600:3c09:e001:59::/64 type: string x-linode-cli-display: 16 route_target: description: The public IPv6 address that the `range` is routed to. example: 2600:3c09::ff:feab:cdef type: string x-linode-cli-display: 17 type: object type: array shared: description: The IPv6 address assigned to this Linode interface, which is also shared with another Linode. items: additionalProperties: false properties: range: description: The IPv6 address range. example: 2600:3c09:e001:2a::/64 type: string x-linode-cli-display: 14 route_target: description: The public IPv6 address that the `range` is routed to. example: null type: string x-linode-cli-display: 15 type: object type: array slaac: description: The public `slaac` and subnet prefix settings for this public interface that is used to communicate over the public internet, and with other services in the same data center. items: additionalProperties: false properties: address: description: Public IPv6 addresses assigned to this interface. example: 2600:3c09::ff:feab:cdef type: string x-linode-cli-display: 12 prefix: description: The prefix length advertised for SLAAC to use. Only the specific (`/128`) EUI-64 address derived from the interface's MAC address is supported. To ensure the MAC-based EUI-64 address is used, privacy addressing needs to be disabled. Network Helper automatically configures the MAC-derived EUI-64 address. If you disable Network Helper or use an unsupported operating system, follow the specific instructions for your OS. example: 64 type: integer x-linode-cli-display: 13 type: object type: array type: object type: object updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: Interface version number that increments when the interface updates. example: 1 type: integer x-linode-cli-display: 7 vlan: description: The value is `null` if this is not a VLAN interface. example: null type: - object - 'null' vpc: additionalProperties: false description: The value is `null` if this is not a VPC interface. example: null type: - object - 'null' title: Public interface type: object x-akamai: file-path: schemas/linode-interface-public.yaml - additionalProperties: false description: A VLAN interface configuration defines the properties and settings for a specific VLAN interface in the Linode network. properties: created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. The `mac_address` of an interface remains constant and does not change. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: description: The value is `null` if this isn't a public interface. example: null type: - object - 'null' updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: Interface version number that is incremented when the interface is updated. example: 1 type: integer x-linode-cli-display: 5 vlan: additionalProperties: false description: VLAN interface type. properties: ipam_address: description: This VLAN interface's private IPv4 address in classless inter-domain routing (CIDR) notation. example: 10.0.0.1/24 format: ip/netmask type: - string - 'null' x-linode-cli-display: 7 vlan_label: description: The VLAN's label. VLAN interfaces on the same Linode must have a unique `vlan_label`. example: my-vlan type: string x-linode-cli-display: 6 type: object vpc: description: The value is `null` if this isn't a VPC interface. example: null type: - object - 'null' title: VLAN interface type: object x-akamai: file-path: schemas/linode-interface-vlan.yaml - additionalProperties: false description: A VPC interface configuration defines settings for a specific VPC interface in the Linode network. properties: created: description: When the interface was created. example: '2025-01-01 00:01:01' format: date-time type: string x-linode-cli-display: 3 default_route: additionalProperties: false description: Indicates if the interface serves as a default route. properties: ipv4: default: false description: Indicates if the interface serves as the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 type: object id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. The `mac_address` of an interface remains constant and does not change. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: additionalProperties: false description: The value is `null` if this is not a public interface. example: null type: - object - 'null' updated: description: When the interface last updated. example: '2025-01-01 00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: The version number of the interface configuration, incremented each time the interface is updated. example: 1 type: integer x-linode-cli-display: 6 vlan: additionalProperties: false description: The value is `null` if this is not a VLAN interface. example: null type: - object - 'null' vpc: additionalProperties: false description: VPC interface type. properties: ipv4: additionalProperties: false description: The interface's IPv4 `addresses` and `ranges` configuration. properties: addresses: description: IPv4 address settings for this VPC interface. items: additionalProperties: false properties: address: description: The VPC subnet IPv4 address. example: 192.168.22.3 type: string x-linode-cli-display: 9 nat_1_1_address: description: The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address. example: null type: - string - 'null' x-linode-cli-display: 11 primary: description: Indicates if the IPv4 address is used to set up a source address for routes inside the Linode for the corresponding network interface. example: true type: boolean x-linode-cli-display: 10 type: object type: array ranges: description: VPC IPv4 ranges. items: additionalProperties: false properties: range: description: CIDR notation of a range (`1.2.3.4/24`) or prefix only (`/24`). example: 192.168.22.16/28 type: string x-linode-cli-display: 12 type: object type: array type: object subnet_id: description: VPC subnet's unique identifier. example: 1234 type: integer x-linode-cli-display: 8 vpc_id: description: VPC's unique identifier. example: 1234 type: integer x-linode-cli-display: 7 type: object title: VPC interface type: object x-akamai: file-path: schemas/linode-interface-vpc.yaml type: object type: array required: - interfaces type: object x-akamai: file-path: schemas/linode-interfaces.yaml x-linode-cli-nested-list: interfaces x-linode-cli-use-schema: additionalProperties: false properties: interfaces.created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 interfaces.default_route: additionalProperties: false description: Indicates if the interface is used as a default route. properties: ipv4: default: false description: Indicates if the interface is used for the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 ipv6: default: false description: Indicates if the interface is used for the IPv6 default route. Only one interface per Linode can have the IPv6 default route. example: true type: boolean x-linode-cli-display: 6 type: - object - 'null' interfaces.id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 interfaces.mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. A public interface's `mac_address` does not change, even if the public interface is deleted and then recreated. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 interfaces.updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 interfaces.version: description: Interface version number that increments when the interface updates. example: 1 type: integer x-linode-cli-display: 7 type: object x-akamai: file-path: schemas/linode-interface-cli.yaml description: A list of all the interfaces available for a Linode. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - linodes:read_write summary: List Linode interfaces tags: - Linode interfaces x-akamai: status: BETA tabs: - syntax: linode-cli linodes interfaces-list $linodeId title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: linodes:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: interfaces-list x-linode-grant: read_write /{apiVersion}/linode/instances/{linodeId}/interfaces/history: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: The `id` of the Linode. example: '{{linodeId}}' in: path name: linodeId required: true schema: example: 234 type: integer x-akamai: file-path: parameters/linode-id.yaml x-akamai: file-path: paths/linode-interface-history.yaml path-info: /{apiVersion}/linode/instances/{linodeId}/interfaces/history x-linode-cli-command: linodes get: description: '__Beta__ Lists the history of network interfaces by version for a Linode. This operation is for Linode interfaces, and not for legacy configuration profile interfaces. > --- - __CLI__. ``` linode-cli linodes interface-history-list $linodeId ``` Learn more... - __OAuth scopes__. ``` linodes:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-linode-interface-history operationId: get-linode-interface-history responses: '200': content: application/json: example: data: - created: '2025-08-01T00:01:01' interface_data: created: '2024-01-01T00:01:01' default_route: ipv4: true ipv6: true id: 1234 mac_address: 22:00:AB:CD:EF:01 public: ipv4: addresses: - address: 172.29.234.138 primary: true shared: - address: 172.26.212.79 linode_id: 12345 ipv6: ranges: - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef shared: - range: 2001:DB8::/64 route_target: null slaac: - address: 2600:3c09::ff:feab:cdef2 prefix: 64 updated: '2024-01-01T00:01:01' version: 3 vlan: null vpc: null interface_history_id: 3 interface_id: 221 linode_id: 22 version: 1 page: 1 pages: 1 results: 1 schema: additionalProperties: false properties: data: items: additionalProperties: false description: Returns a paginated list of all available versions for all interfaces (as full objects) on the Linode. A new entry is added to this list each time a change is made to any interface. properties: created: description: __Filterable__, __Read-only__ When this version was created. Use `created` to determine which settings an interface prevously had. example: '2025-08-01T00:01:01' format: date-time readOnly: true type: string x-akamai: labels: - Filterable x-linode-cli-display: 6 x-linode-filterable: true interface_data: description: The JSON body returned in response to a successful `PUT`, `POST`, or `DELETE` operation on the interface. example: {} type: string x-linode-cli-display: 5 interface_history_id: description: __Filterable__, __Read-only__ The unique ID for this history version. example: 1 readOnly: true type: integer x-akamai: labels: - Filterable x-linode-cli-display: 1 x-linode-filterable: true interface_id: description: __Filterable__, __Read-only__ The network interface defined in the `version`. example: 221 readOnly: true type: integer x-akamai: labels: - Filterable x-linode-cli-display: 2 x-linode-filterable: true linode_id: description: __Filterable__, __Read-only__ The Linode the `interface_id` belongs to. example: 22 readOnly: true type: integer x-akamai: labels: - Filterable x-linode-cli-display: 3 x-linode-filterable: true version: description: __Filterable__, __Read-only__ The network interface's version. The first version from a `POST` is `1`. The version number is incremented when the network interface configuration is changed. example: 1 readOnly: true type: integer x-akamai: labels: - Filterable x-linode-cli-display: 4 x-linode-filterable: true type: object x-akamai: file-path: schemas/history.yaml type: array page: description: __Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer pages: description: __Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer results: description: __Read-only__ The total number of results. example: 1 readOnly: true type: integer type: object x-akamai: file-path: schemas/added-get-linode-interfaces-history-200.yaml description: Returns a paginated list of network interface versions for a Linode. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - linodes:read_only summary: List a Linode's network interface history tags: - Linode interfaces x-akamai: status: BETA tabs: - syntax: linode-cli linodes interface-history-list $linodeId title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: linodes:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: interface-history-list x-linode-grant: read_only /{apiVersion}/linode/instances/{linodeId}/interfaces/settings: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: The `id` of the Linode. example: '{{linodeId}}' in: path name: linodeId required: true schema: example: 234 type: integer x-akamai: file-path: parameters/linode-id.yaml x-akamai: file-path: paths/linode-interface-settings.yaml path-info: /{apiVersion}/linode/instances/{linodeId}/interfaces/settings status: BETA x-linode-cli-command: linodes get: description: '__Beta__ Lists a Linode''s interface settings, including Network Helper and default route settings. This operation is for Linode interfaces, not for legacy configuration profile interfaces. > --- - __CLI__. ``` linode-cli linodes interfaces-settings-list $linodeId ``` Learn more... - __OAuth scopes__. ``` linodes: read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings operationId: get-linode-interface-settings responses: '200': content: application/json: schema: additionalProperties: false description: Linode interface settings. properties: default_route: additionalProperties: false description: Interfaces used for the IPv4 `default_route` and IPv6 `default_route` when multiple interfaces are eligible for the role. properties: ipv4_eligible_interface_ids: description: The VPC or public interface IDs that are eligible to be the IPv4 `default_route` for this Linode. If the `ipv4_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv4 default route role. items: description: __Read-only__ Eligible IDs, or an empty array if there are none. example: - 1 - 2 readOnly: true type: integer x-linode-cli-display: 3 type: array ipv4_interface_id: default: null description: The VPC or public interface ID assigned as the IPv4 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv4 interface IDs. example: 1 type: - integer - 'null' x-linode-cli-display: 2 ipv6_eligible_interface_ids: description: The public interface IDs that are eligible to be the IPv6 `default_route` for this Linode. If the `ipv6_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv6 default route role. items: description: __Read-only__ Eligible IDs, or an empty array if there are none. example: - 4 - 5 readOnly: true type: integer type: array x-linode-cli-display: 5 ipv6_interface_id: default: null description: The public interface ID assigned as the IPv6 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv6 interface IDs. example: 4 type: - integer - 'null' x-linode-cli-display: 4 type: object network_helper: description: Enables the Network Helper feature. The default value is determined by the `network_helper` setting in the [account settings](https://techdocs.akamai.com/linode-api/reference/get-account-settings). [Power off the Linode](https://techdocs.akamai.com/linode-api/reference/post-shutdown-linode-instance) before disabling or enabling Network Helper. example: false type: boolean x-linode-cli-display: 1 type: object x-akamai: file-path: schemas/linode-interface-settings.yaml x-example: x-ref: ../examples/linode-interface-settings-200.json description: Returns a single Linode interface settings object. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - linode:read_only summary: List Linode interface settings tags: - Linode interfaces x-akamai: status: BETA tabs: - syntax: linode-cli linodes interfaces-settings-list $linodeId title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: 'linodes: read_only' title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: interfaces-settings-list x-linode-grant: read_only put: description: '__Beta__ Updates Network Helper and default route settings on the Linode. > --- - __CLI: Public interface__. ``` linode-cli linodes interface-settings-update $linodeId \ --network_helper true \ --default_route.ipv4_interface_id 4527 \ --default_route.ipv6_interface_id 4541 \ --default_route.ipv4_eligible_interface_ids 4527 \ --default_route.ipv4_eligible_interface_ids 4541 \ --default_route.ipv6_eligible_interface_ids 4527 \ --default_route.ipv6_eligible_interface_ids 4541 ``` Learn more... - __CLI: VLAN interface__. ``` linode-cli linodes interface-settings-update $linodeId \ --network_helper true ``` Learn more... - __CLI: VPC interface__. ``` linode-cli linodes interface-settings-update $linodeId \ --network_helper true \ --default_route.ipv4_interface_id 5527 \ --default_route.ipv4_eligible_interface_ids 5527 \ --default_route.ipv4_eligible_interface_ids 5541 ``` Learn more... - __OAuth scopes__. ``` linodes:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/put-linode-interface-settings operationId: put-linode-interface-settings requestBody: content: application/json: schema: additionalProperties: false description: Linode interface settings. properties: default_route: additionalProperties: false description: Interfaces used for the IPv4 `default_route` and IPv6 `default_route` when multiple interfaces are eligible for the role. properties: ipv4_eligible_interface_ids: description: The VPC or public interface IDs that are eligible to be the IPv4 `default_route` for this Linode. If the `ipv4_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv4 default route role. items: description: __Read-only__ Eligible IDs, or an empty array if there are none. example: - 1 - 2 readOnly: true type: integer x-linode-cli-display: 3 type: array ipv4_interface_id: default: null description: The VPC or public interface ID assigned as the IPv4 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv4 interface IDs. example: 1 type: - integer - 'null' x-linode-cli-display: 2 ipv6_eligible_interface_ids: description: The public interface IDs that are eligible to be the IPv6 `default_route` for this Linode. If the `ipv6_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv6 default route role. items: description: __Read-only__ Eligible IDs, or an empty array if there are none. example: - 4 - 5 readOnly: true type: integer type: array x-linode-cli-display: 5 ipv6_interface_id: default: null description: The public interface ID assigned as the IPv6 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv6 interface IDs. example: 4 type: - integer - 'null' x-linode-cli-display: 4 type: object network_helper: description: Enables the Network Helper feature. The default value is determined by the `network_helper` setting in the [account settings](https://techdocs.akamai.com/linode-api/reference/get-account-settings). [Power off the Linode](https://techdocs.akamai.com/linode-api/reference/post-shutdown-linode-instance) before disabling or enabling Network Helper. example: '{{network_helper}}' type: boolean x-linode-cli-display: 1 type: object x-akamai: file-path: schemas/linode-interface-settings.yaml x-example: x-ref: ../examples/linode-interface.json description: Update Linode interface settings. Before enabling or disabling Network Helper, you need to power off the Linode. required: true responses: '200': content: application/json: schema: additionalProperties: false description: Linode interface settings. properties: default_route: additionalProperties: false description: Interfaces used for the IPv4 `default_route` and IPv6 `default_route` when multiple interfaces are eligible for the role. properties: ipv4_eligible_interface_ids: description: The VPC or public interface IDs that are eligible to be the IPv4 `default_route` for this Linode. If the `ipv4_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv4 default route role. items: description: __Read-only__ Eligible IDs, or an empty array if there are none. example: - 1 - 2 readOnly: true type: integer x-linode-cli-display: 3 type: array ipv4_interface_id: default: null description: The VPC or public interface ID assigned as the IPv4 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv4 interface IDs. example: 1 type: - integer - 'null' x-linode-cli-display: 2 ipv6_eligible_interface_ids: description: The public interface IDs that are eligible to be the IPv6 `default_route` for this Linode. If the `ipv6_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv6 default route role. items: description: __Read-only__ Eligible IDs, or an empty array if there are none. example: - 4 - 5 readOnly: true type: integer type: array x-linode-cli-display: 5 ipv6_interface_id: default: null description: The public interface ID assigned as the IPv6 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv6 interface IDs. example: 4 type: - integer - 'null' x-linode-cli-display: 4 type: object network_helper: description: Enables the Network Helper feature. The default value is determined by the `network_helper` setting in the [account settings](https://techdocs.akamai.com/linode-api/reference/get-account-settings). [Power off the Linode](https://techdocs.akamai.com/linode-api/reference/post-shutdown-linode-instance) before disabling or enabling Network Helper. example: false type: boolean x-linode-cli-display: 1 type: object x-akamai: file-path: schemas/linode-interface-settings.yaml x-example: x-ref: ../examples/linode-interface-settings-200.json description: The updated Linode interface settings. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - linodes:read_write summary: Update Linode interface settings tags: - Linode interfaces x-akamai: status: BETA tabs: - syntax: "linode-cli linodes interface-settings-update $linodeId \\\n --network_helper true \\\n --default_route.ipv4_interface_id 4527 \\\n --default_route.ipv6_interface_id 4541 \\\n --default_route.ipv4_eligible_interface_ids 4527 \\\n --default_route.ipv4_eligible_interface_ids 4541 \\\n --default_route.ipv6_eligible_interface_ids 4527 \\\n --default_route.ipv6_eligible_interface_ids 4541" title: 'CLI: Public interface' url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: "linode-cli linodes interface-settings-update $linodeId \\\n --network_helper true" title: 'CLI: VLAN interface' url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: "linode-cli linodes interface-settings-update $linodeId \\\n --network_helper true \\\n --default_route.ipv4_interface_id 5527 \\\n --default_route.ipv4_eligible_interface_ids 5527 \\\n --default_route.ipv4_eligible_interface_ids 5541 " title: 'CLI: VPC interface' url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: linodes:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: interface-settings-update x-linode-grant: read_write /{apiVersion}/linode/instances/{linodeId}/interfaces/{interfaceId}: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: The `id` of the Linode. example: '{{linodeId}}' in: path name: linodeId required: true schema: example: 234 type: integer x-akamai: file-path: parameters/linode-id.yaml - description: The `id` of the Linode interface. example: '{{interfaceId}}' in: path name: interfaceId required: true schema: example: 1234 type: integer x-akamai: file-path: parameters/linode-interface-id-path.yaml x-akamai: file-path: paths/linode-interface.yaml path-info: /{apiVersion}/linode/instances/{linodeId}/interfaces/{interfaceId} status: BETA x-linode-cli-command: linodes get: description: '__Beta__ Returns an interface assigned to a specific Linode. This operation requires the `read_only` grant for the Linode. > --- - __CLI__. ``` linode-cli linodes interface-view $linodeId $interfaceId ``` Learn more... - __OAuth scopes__. ``` linodes:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-linode-interface operationId: get-linode-interface responses: '200': content: application/json: examples: ex-public: summary: Public interface value: created: '2025-01-01T00:01:01' default_route: ipv4: true ipv6: true id: 1234 mac_address: 22:00:AB:CD:EF:01 public: ipv4: addresses: - address: 172.30.0.50 primary: true shared: - address: 172.30.0.51 linode_id: 12345 ipv6: ranges: - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef shared: - range: 2001:DB8::/64 route_target: null slaac: - address: 2600:3c09::ff:feab:cdef prefix: 64 updated: '2025-01-01T00:01:01' version: 1 vlan: null vpc: null ex-vlan: summary: VLAN interface value: created: '2025-01-01T00:01:01' default_route: {} id: 1234 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2025-01-01T00:01:01' version: 1 vlan: ipam_address: 10.0.0.1/24 vlan_label: my-vlan vpc: null ex-vpc: summary: VPC interface value: created: '2025-01-01T00:01:01' default_route: ipv4: true id: 1234 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2025-01-01T00:02:01' version: 1 vlan: null vpc: ipv4: addresses: - address: 192.168.22.3 primary: true ranges: - range: 192.168.22.16/28 - range: 192.168.22.32/28 subnet_id: 1234 vpc_id: 1234 schema: description: 'One of the following interface types: VPC, public, or VLAN.' oneOf: - additionalProperties: false description: A public interface configuration defines the properties and settings for a specific public interface in the Linode network. properties: created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 default_route: additionalProperties: false description: Indicates if the interface is used as a default route. properties: ipv4: default: false description: Indicates if the interface is used for the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 ipv6: default: false description: Indicates if the interface is used for the IPv6 default route. Only one interface per Linode can have the IPv6 default route. example: true type: boolean x-linode-cli-display: 6 type: - object - 'null' id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. A public interface's `mac_address` does not change, even if the public interface is deleted and then recreated. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: additionalProperties: false description: Public interface type. properties: ipv4: additionalProperties: false description: The interface's public IPv4 `addresses`. properties: addresses: description: The public IPv4 addresses and primary settings for this public interface. items: additionalProperties: false properties: address: description: The public IPv4 address assigned to this interface. example: 172.232.100.100 type: string x-linode-cli-display: 8 primary: description: Indicates if the public IPv4 address serves as the source address for traffic routing within the Linode and other corresponding network interfaces and services. example: true type: boolean x-linode-cli-display: 9 type: object type: array shared: description: The IPv4 address assigned to this Linode interface, which is also shared with another Linode. items: additionalProperties: false properties: address: description: Shared IPv4 address. example: 172.222.33.4 type: string x-linode-cli-display: 10 linode_id: description: The ID of the Linode this address currently belongs to. For IPv4 addresses, by default this is the Linode this address was assigned when created. example: 12345 type: string x-linode-cli-display: 11 type: object type: array type: object ipv6: additionalProperties: false description: The interface's public IPv6 configuration. properties: ranges: description: List of IPv6 ranges assigned to this interface. items: additionalProperties: false properties: range: description: IPv6 range in CIDR notation (`2600:0db8::1/64`) or prefix-only (`/64`). example: 2600:3c09:e001:59::/64 type: string x-linode-cli-display: 16 route_target: description: The public IPv6 address that the `range` is routed to. example: 2600:3c09::ff:feab:cdef type: string x-linode-cli-display: 17 type: object type: array shared: description: The IPv6 address assigned to this Linode interface, which is also shared with another Linode. items: additionalProperties: false properties: range: description: The IPv6 address range. example: 2600:3c09:e001:2a::/64 type: string x-linode-cli-display: 14 route_target: description: The public IPv6 address that the `range` is routed to. example: null type: string x-linode-cli-display: 15 type: object type: array slaac: description: The public `slaac` and subnet prefix settings for this public interface that is used to communicate over the public internet, and with other services in the same data center. items: additionalProperties: false properties: address: description: Public IPv6 addresses assigned to this interface. example: 2600:3c09::ff:feab:cdef type: string x-linode-cli-display: 12 prefix: description: The prefix length advertised for SLAAC to use. Only the specific (`/128`) EUI-64 address derived from the interface's MAC address is supported. To ensure the MAC-based EUI-64 address is used, privacy addressing needs to be disabled. Network Helper automatically configures the MAC-derived EUI-64 address. If you disable Network Helper or use an unsupported operating system, follow the specific instructions for your OS. example: 64 type: integer x-linode-cli-display: 13 type: object type: array type: object type: object updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: Interface version number that increments when the interface updates. example: 1 type: integer x-linode-cli-display: 7 vlan: description: The value is `null` if this is not a VLAN interface. example: null type: - object - 'null' vpc: additionalProperties: false description: The value is `null` if this is not a VPC interface. example: null type: - object - 'null' title: Public interface type: object x-akamai: file-path: schemas/linode-interface-public.yaml - additionalProperties: false description: A VLAN interface configuration defines the properties and settings for a specific VLAN interface in the Linode network. properties: created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. The `mac_address` of an interface remains constant and does not change. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: description: The value is `null` if this isn't a public interface. example: null type: - object - 'null' updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: Interface version number that is incremented when the interface is updated. example: 1 type: integer x-linode-cli-display: 5 vlan: additionalProperties: false description: VLAN interface type. properties: ipam_address: description: This VLAN interface's private IPv4 address in classless inter-domain routing (CIDR) notation. example: 10.0.0.1/24 format: ip/netmask type: - string - 'null' x-linode-cli-display: 7 vlan_label: description: The VLAN's label. VLAN interfaces on the same Linode must have a unique `vlan_label`. example: my-vlan type: string x-linode-cli-display: 6 type: object vpc: description: The value is `null` if this isn't a VPC interface. example: null type: - object - 'null' title: VLAN interface type: object x-akamai: file-path: schemas/linode-interface-vlan.yaml - additionalProperties: false description: A VPC interface configuration defines settings for a specific VPC interface in the Linode network. properties: created: description: When the interface was created. example: '2025-01-01 00:01:01' format: date-time type: string x-linode-cli-display: 3 default_route: additionalProperties: false description: Indicates if the interface serves as a default route. properties: ipv4: default: false description: Indicates if the interface serves as the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 type: object id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. The `mac_address` of an interface remains constant and does not change. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: additionalProperties: false description: The value is `null` if this is not a public interface. example: null type: - object - 'null' updated: description: When the interface last updated. example: '2025-01-01 00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: The version number of the interface configuration, incremented each time the interface is updated. example: 1 type: integer x-linode-cli-display: 6 vlan: additionalProperties: false description: The value is `null` if this is not a VLAN interface. example: null type: - object - 'null' vpc: additionalProperties: false description: VPC interface type. properties: ipv4: additionalProperties: false description: The interface's IPv4 `addresses` and `ranges` configuration. properties: addresses: description: IPv4 address settings for this VPC interface. items: additionalProperties: false properties: address: description: The VPC subnet IPv4 address. example: 192.168.22.3 type: string x-linode-cli-display: 9 nat_1_1_address: description: The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address. example: null type: - string - 'null' x-linode-cli-display: 11 primary: description: Indicates if the IPv4 address is used to set up a source address for routes inside the Linode for the corresponding network interface. example: true type: boolean x-linode-cli-display: 10 type: object type: array ranges: description: VPC IPv4 ranges. items: additionalProperties: false properties: range: description: CIDR notation of a range (`1.2.3.4/24`) or prefix only (`/24`). example: 192.168.22.16/28 type: string x-linode-cli-display: 12 type: object type: array type: object subnet_id: description: VPC subnet's unique identifier. example: 1234 type: integer x-linode-cli-display: 8 vpc_id: description: VPC's unique identifier. example: 1234 type: integer x-linode-cli-display: 7 type: object title: VPC interface type: object x-akamai: file-path: schemas/linode-interface-vpc.yaml type: object x-akamai: file-path: schemas/linode-interface.yaml description: Returns a single interface available for a Linode. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - linodes:read_write summary: Get a Linode interface tags: - Linode interfaces x-akamai: status: BETA tabs: - syntax: linode-cli linodes interface-view $linodeId $interfaceId title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: linodes:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: interface-view x-linode-grant: read_write put: description: '__Beta__ Update the configuration of a Linode interface. > --- - __CLI: Public interface__. ``` linode-cli linodes interface-update $linodeId $interfaceId \ --default_route.ipv4 true \ --default_route.ipv6 false \ --public.ipv4.addresses ''[{"address": "192.0.2.141", "primary": true}, {"address": "auto", "primary": false}]'' \ --public.ipv6.ranges ''[{"range": "2001:0db8"::1/64"}, {"range": "/64"}]'' ``` Learn more... - __CLI: VLAN interface__. ``` linode-cli linodes interface-update $linodeId $interfaceId \ --vlan.vlan_label my-vlan \ --vlan.ipam_address 192.168.2.2/24 ``` Learn more... - __CLI: VPC interface__. ``` linode-cli linodes interface-update $linodeId $interfaceId \ --default_route.ipv4 true \ --vpc.subnet_id 321 \ --vpc.ipv4.addresses ''[{"address": "10.0.0.1", "primary": true, "nat_1_1_address": "auto"}, {"address": "auto", "primary": false, "nat_1_1_address": null}]'' \ --vpc.ipv4.ranges ''[{"range": "/28"}, {"range": "10.11.12.0/24"}]'' ``` Learn more... - __OAuth scopes__. ``` linodes:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/put-linode-interface operationId: put-linode-interface requestBody: content: application/json: schema: description: Modifies an existing Linode interface. The interface type (`vpc`, `public`, `vlan`) can't be changed. oneOf: - additionalProperties: false description: 'Modifies an existing Linode public interface. The public interface can''t be changed to a VLAN or VPC interface type. If Network Helper is enabled, the Linode must be shut down before updating the `address`, or `primary` setting.' properties: default_route: additionalProperties: false description: Defines whether IPv4 and IPv6 default routes are enabled for this interface. Public interfaces can have both an IPv4 and IPv6 `default_route`, provided they have at least one IP address of the corresponding type. If the `default_route` is omitted, (or set to `null`), no changes are made to the `default_route` configuration. properties: ipv4: description: If set to `true`, and if the interface has at least one IPv4 address after the PUT request, the `default_route` role is assigned to the interface. If another interface is already configured as the default route, this setting removes that configuration. If the interface has an IPv4 address, the value cannot be set as `false`. example: true type: - boolean - 'null' ipv6: description: If set to `true`, and if the interface has at least one IPv6 address after the PUT request, the `default_route` role is assigned to the interface. If another interface is already configured as the default route, this setting removes that configuration. If the interface has an IPv6 address, the value cannot be set as `false`. example: true type: - boolean - 'null' type: object public: additionalProperties: false description: Public interface settings. properties: ipv4: additionalProperties: false description: IPv4 address settings for this public interface. properties: addresses: description: List of IPv4 addresses to assign to this interface. When updating the addresses, all addresses must be explicitly listed in the array, and any addresses not included in the update are removed. If omitted or set to `null`, no changes are made to the existing IPv4 configuration. items: additionalProperties: false properties: address: default: auto description: The public IPv4 address configuration for the interface. If set to `auto`, a public IPv4 address is allocated. If the address is a reserved or an automatically assigned public IP, the IP must be reserved or already assigned to a single Linode, and it can’t be already assigned to an interface. example: - 192.0.2.141 - auto type: string primary: description: 'The IPv4 primary address for the interface that is used to set up a source address for routes inside the Linode for the corresponding network interface. Automatically set to `true` and should not be set to `false` if there is only one address present in the addresses array. If more than one address is provided, primary must be set to `true` for one address.' example: true type: - boolean - 'null' type: object type: array type: object ipv6: additionalProperties: false description: IPv6 address settings for the public interface. properties: ranges: description: List of IPv6 address ranges to assign to this interface. If range is omitted, or set to `null`, no changes are made to the IPv6 ranges of the interface. If range is updated, specify all ranges in this array, otherwise, the currently assigned ranges will be removed. items: additionalProperties: false properties: range: default: null description: 'IPv6 range in CIDR notation (`2001:0db8::1/64`) or prefix-only (`/64`). - The prefix of /64 or /56 block of IPv6 addresses. - CIDR notation ranges must be within your assigned ranges.' example: /64 type: string required: - range type: object type: array type: object type: - object - 'null' title: Public interface type: object x-akamai: file-path: schemas/added-put-linode-interface-public.yaml - additionalProperties: false description: Modifies an existing Linode VLAN interface. The VLAN interface can't be changed to a VPC or public interface type. properties: vlan: additionalProperties: false description: VLAN interface settings. properties: ipam_address: description: This VLAN interface's private IPv4 address in classless inter-domain routing (CIDR) notation. The `ipam_address` can't be updated. It needs to be the existing value, or `null`. example: 10.0.0.1/24 format: ip/netmask type: - string - 'null' vlan_label: description: The VLAN's label. Once you specify it, you can't update it. example: my-vlan maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string type: object title: VLAN interface type: object x-akamai: file-path: schemas/added-put-linode-interface-vlan.yaml - additionalProperties: false description: 'Modifies an existing Linode VPC interface. The VPC interface can''t be changed to a VLAN or public interface type. If Network Helper is enabled, shut down the Linode before updating the `address`, or `primary` setting.' properties: default_route: description: Indicates if the interface is used as the default route. A VPC interface can have an IPv4 `default_route`. properties: ipv4: description: If set to `true`, and if the interface has at least one IPv4 address after the `PUT` request, the `default_route` role is assigned to the interface. If another interface is already configured as the default route, this setting removes that configuration. If the interface has an IPv4 address, the value can't be set to `false`. If this is omitted, or set to `null`, no changes are made to the interface's IPv4 configuration. example: true type: - boolean - 'null' type: object vpc: additionalProperties: false description: VPC interface settings. properties: ipv4: additionalProperties: false description: Interfaces can be configured with IPv4 `addresses` or `ranges`. If this is omitted, or set to `null`, no changes are made to the IPv4 configuration. properties: addresses: description: IPv4 configuration for this VPC interface. When updating the addresses, all addresses must be explicitly listed in the array, and any addresses not included in the update are removed. If omitted or set to `null`, no changes are made to the existing IPv4 configuration. However, if the `subnet_id` is updated, new default address values are applied. items: additionalProperties: false properties: address: default: auto description: Specifies which IPv4 addresses to use in the VPC subnet. You can't use an IPv4 address taken from another Linode or interface, or the first two or last two addresses in the VPC subnet. Setting `address` to `auto` automatically assigns an IP address from the subnet. example: - 192.168.22.3 - auto type: string nat_1_1_address: default: null description: 'The 1:1 NAT IPv4 address that links a public IPv4 address with the interface''s VPC subnet IPv4 address. - You can set this to a specific public IPv4 address that''s available on the Linode. - If set to `auto`, a public IPv4 address is automatically selected. - If a public IPv4 address or `auto` is specified, `primary` must be set to `true`. - A specified address can''t be used on another Linode. - If the address is a reserved or an automatically assigned public IP, the IP must be reserved or already assigned to a single Linode, and not assigned to an interface. - Omitting this or setting it to `null` results in no 1:1 NAT configuration for the VPC interface.' example: - null - auto - 192.0.2.141 type: string primary: description: 'The IPv4 primary address for the interface that sets up a source address for routes inside the Linode for the corresponding network interface. Automatically sets to `true` and should not be set to `false` if there is only one address present in the `addresses` array. If more than one `address` is provided, `primary` must be set to `true` for one address.' example: true type: - boolean - 'null' required: - address type: object type: array ranges: description: VPC IPv4 ranges. If you omit `ranges` or set it to `null`, the interface's IPv4 ranges remain unchanged. But if you update `ranges`, you need to specify all of them, otherwise currently assigned ranges are removed. items: additionalProperties: false properties: range: default: null description: 'CIDR notation of a range (`1.2.3.4/28`) or prefix only (`/28`): - When only the prefix is provided, then an available range of that size within the VPC''s subnet is automatically selected. - If specified as CIDR notation, it must belong to the VPC subnet. All addresses in the range must not be taken by any other Linode or interfaces in the VPC subnet and must not include any of the first two or last two addresses of the VPC subnet.' example: - 192.168.22.16/28 - 192.168.22.32/28 - /28 - auto type: - string - 'null' type: object type: array type: object subnet_id: description: The VPC subnet identifier for this interface. Your subnet’s VPC must be in the same data center (region) as the Linode. If the subnet is updated, the IP configuration should also be updated. If the subnet is updated without updating the IP configuration, defaults are applied. example: 321 type: integer required: - subnet_id type: - object - 'null' title: VPC interface type: object x-akamai: file-path: schemas/added-put-linode-interface-vpc.yaml type: object x-akamai: file-path: schemas/added-put-linode-interface.yaml x-example: x-ref: ../examples/linode-interface.json required: true responses: '200': content: application/json: examples: ex-public: summary: Public interface value: created: '2025-01-01T00:01:01' default_route: ipv4: true ipv6: true id: 1234 mac_address: 22:00:AB:CD:EF:01 public: ipv4: addresses: - address: 172.30.0.50 primary: true shared: - address: 172.30.0.51 linode_id: 12345 ipv6: ranges: - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef shared: - range: 2001:DB8::/64 route_target: null slaac: - address: 2600:3c09::ff:feab:cdef prefix: 64 updated: '2025-01-01T00:01:01' version: 1 vlan: null vpc: null ex-vlan: summary: VLAN interface value: created: '2025-01-01T00:01:01' default_route: {} id: 1234 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2025-01-01T00:01:01' version: 1 vlan: ipam_address: 10.0.0.1/24 vlan_label: my-vlan vpc: null ex-vpc: summary: VPC interface value: created: '2025-01-01T00:01:01' default_route: ipv4: true id: 1234 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2025-01-01T00:02:01' version: 1 vlan: null vpc: ipv4: addresses: - address: 192.168.22.3 primary: true ranges: - range: 192.168.22.16/28 - range: 192.168.22.32/28 subnet_id: 1234 vpc_id: 1234 schema: description: 'One of the following interface types: VPC, public, or VLAN.' oneOf: - additionalProperties: false description: A public interface configuration defines the properties and settings for a specific public interface in the Linode network. properties: created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 default_route: additionalProperties: false description: Indicates if the interface is used as a default route. properties: ipv4: default: false description: Indicates if the interface is used for the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 ipv6: default: false description: Indicates if the interface is used for the IPv6 default route. Only one interface per Linode can have the IPv6 default route. example: true type: boolean x-linode-cli-display: 6 type: - object - 'null' id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. A public interface's `mac_address` does not change, even if the public interface is deleted and then recreated. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: additionalProperties: false description: Public interface type. properties: ipv4: additionalProperties: false description: The interface's public IPv4 `addresses`. properties: addresses: description: The public IPv4 addresses and primary settings for this public interface. items: additionalProperties: false properties: address: description: The public IPv4 address assigned to this interface. example: 172.232.100.100 type: string x-linode-cli-display: 8 primary: description: Indicates if the public IPv4 address serves as the source address for traffic routing within the Linode and other corresponding network interfaces and services. example: true type: boolean x-linode-cli-display: 9 type: object type: array shared: description: The IPv4 address assigned to this Linode interface, which is also shared with another Linode. items: additionalProperties: false properties: address: description: Shared IPv4 address. example: 172.222.33.4 type: string x-linode-cli-display: 10 linode_id: description: The ID of the Linode this address currently belongs to. For IPv4 addresses, by default this is the Linode this address was assigned when created. example: 12345 type: string x-linode-cli-display: 11 type: object type: array type: object ipv6: additionalProperties: false description: The interface's public IPv6 configuration. properties: ranges: description: List of IPv6 ranges assigned to this interface. items: additionalProperties: false properties: range: description: IPv6 range in CIDR notation (`2600:0db8::1/64`) or prefix-only (`/64`). example: 2600:3c09:e001:59::/64 type: string x-linode-cli-display: 16 route_target: description: The public IPv6 address that the `range` is routed to. example: 2600:3c09::ff:feab:cdef type: string x-linode-cli-display: 17 type: object type: array shared: description: The IPv6 address assigned to this Linode interface, which is also shared with another Linode. items: additionalProperties: false properties: range: description: The IPv6 address range. example: 2600:3c09:e001:2a::/64 type: string x-linode-cli-display: 14 route_target: description: The public IPv6 address that the `range` is routed to. example: null type: string x-linode-cli-display: 15 type: object type: array slaac: description: The public `slaac` and subnet prefix settings for this public interface that is used to communicate over the public internet, and with other services in the same data center. items: additionalProperties: false properties: address: description: Public IPv6 addresses assigned to this interface. example: 2600:3c09::ff:feab:cdef type: string x-linode-cli-display: 12 prefix: description: The prefix length advertised for SLAAC to use. Only the specific (`/128`) EUI-64 address derived from the interface's MAC address is supported. To ensure the MAC-based EUI-64 address is used, privacy addressing needs to be disabled. Network Helper automatically configures the MAC-derived EUI-64 address. If you disable Network Helper or use an unsupported operating system, follow the specific instructions for your OS. example: 64 type: integer x-linode-cli-display: 13 type: object type: array type: object type: object updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: Interface version number that increments when the interface updates. example: 1 type: integer x-linode-cli-display: 7 vlan: description: The value is `null` if this is not a VLAN interface. example: null type: - object - 'null' vpc: additionalProperties: false description: The value is `null` if this is not a VPC interface. example: null type: - object - 'null' title: Public interface type: object x-akamai: file-path: schemas/linode-interface-public.yaml - additionalProperties: false description: A VLAN interface configuration defines the properties and settings for a specific VLAN interface in the Linode network. properties: created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. The `mac_address` of an interface remains constant and does not change. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: description: The value is `null` if this isn't a public interface. example: null type: - object - 'null' updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: Interface version number that is incremented when the interface is updated. example: 1 type: integer x-linode-cli-display: 5 vlan: additionalProperties: false description: VLAN interface type. properties: ipam_address: description: This VLAN interface's private IPv4 address in classless inter-domain routing (CIDR) notation. example: 10.0.0.1/24 format: ip/netmask type: - string - 'null' x-linode-cli-display: 7 vlan_label: description: The VLAN's label. VLAN interfaces on the same Linode must have a unique `vlan_label`. example: my-vlan type: string x-linode-cli-display: 6 type: object vpc: description: The value is `null` if this isn't a VPC interface. example: null type: - object - 'null' title: VLAN interface type: object x-akamai: file-path: schemas/linode-interface-vlan.yaml - additionalProperties: false description: A VPC interface configuration defines settings for a specific VPC interface in the Linode network. properties: created: description: When the interface was created. example: '2025-01-01 00:01:01' format: date-time type: string x-linode-cli-display: 3 default_route: additionalProperties: false description: Indicates if the interface serves as a default route. properties: ipv4: default: false description: Indicates if the interface serves as the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 type: object id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. The `mac_address` of an interface remains constant and does not change. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: additionalProperties: false description: The value is `null` if this is not a public interface. example: null type: - object - 'null' updated: description: When the interface last updated. example: '2025-01-01 00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: The version number of the interface configuration, incremented each time the interface is updated. example: 1 type: integer x-linode-cli-display: 6 vlan: additionalProperties: false description: The value is `null` if this is not a VLAN interface. example: null type: - object - 'null' vpc: additionalProperties: false description: VPC interface type. properties: ipv4: additionalProperties: false description: The interface's IPv4 `addresses` and `ranges` configuration. properties: addresses: description: IPv4 address settings for this VPC interface. items: additionalProperties: false properties: address: description: The VPC subnet IPv4 address. example: 192.168.22.3 type: string x-linode-cli-display: 9 nat_1_1_address: description: The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address. example: null type: - string - 'null' x-linode-cli-display: 11 primary: description: Indicates if the IPv4 address is used to set up a source address for routes inside the Linode for the corresponding network interface. example: true type: boolean x-linode-cli-display: 10 type: object type: array ranges: description: VPC IPv4 ranges. items: additionalProperties: false properties: range: description: CIDR notation of a range (`1.2.3.4/24`) or prefix only (`/24`). example: 192.168.22.16/28 type: string x-linode-cli-display: 12 type: object type: array type: object subnet_id: description: VPC subnet's unique identifier. example: 1234 type: integer x-linode-cli-display: 8 vpc_id: description: VPC's unique identifier. example: 1234 type: integer x-linode-cli-display: 7 type: object title: VPC interface type: object x-akamai: file-path: schemas/linode-interface-vpc.yaml type: object x-akamai: file-path: schemas/linode-interface.yaml description: The Linode interface was successfully updated. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - linodes:read_write summary: Update a Linode interface tags: - Linode interfaces x-akamai: status: BETA tabs: - syntax: "linode-cli linodes interface-update $linodeId $interfaceId \\\n --default_route.ipv4 true \\\n --default_route.ipv6 false \\\n --public.ipv4.addresses '[{\"address\": \"192.0.2.141\", \"primary\": true}, {\"address\": \"auto\", \"primary\": false}]' \\\n --public.ipv6.ranges '[{\"range\": \"2001:0db8\"::1/64\"}, {\"range\": \"/64\"}]'" title: 'CLI: Public interface' url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: "linode-cli linodes interface-update $linodeId $interfaceId \\\n --vlan.vlan_label my-vlan \\\n --vlan.ipam_address 192.168.2.2/24" title: 'CLI: VLAN interface' url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: "linode-cli linodes interface-update $linodeId $interfaceId \\\n --default_route.ipv4 true \\\n --vpc.subnet_id 321 \\\n --vpc.ipv4.addresses '[{\"address\": \"10.0.0.1\", \"primary\": true, \"nat_1_1_address\": \"auto\"}, {\"address\": \"auto\", \"primary\": false, \"nat_1_1_address\": null}]' \\\n --vpc.ipv4.ranges '[{\"range\": \"/28\"}, {\"range\": \"10.11.12.0/24\"}]'" title: 'CLI: VPC interface' url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: linodes:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: interface-update x-linode-grant: read_write delete: description: '__Beta__ Deletes a Linode interface on a specific Linode. To access this operation, you need the `read_write` grant for the Linode. You can''t delete an active interface. First, you need to shut down the associated Linode. > --- - __CLI__. ``` linode-cli linodes interface-delete $linodeId $interfaceId ``` Learn more... - __OAuth scopes__. ``` linodes:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/delete-linode-interface operationId: delete-linode-interface responses: '200': content: application/json: example: created: '2024-01-01T00:01:01' default_route: ipv4: true id: 1234 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2024-01-01T00:01:01' version: 1 vlan: null vpc: ipv4: addresses: - address: 192.168.22.3 primary: true ranges: - range: 192.168.22.16/28 - range: 192.168.22.32/28 subnet_id: 1234 vpc_id: 1234 schema: description: The API responds with an empty object. maxProperties: 0 type: object x-akamai: file-path: schemas/added-empty-obj.yaml description: A Linode interface is successfully deleted. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - linodes:read_write summary: Delete a Linode interface tags: - Linode interfaces x-akamai: status: BETA tabs: - syntax: linode-cli linodes interface-delete $linodeId $interfaceId title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: linodes:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: interface-delete x-linode-grant: read_write /{apiVersion}/linode/instances/{linodeId}/interfaces/{interfaceId}/firewalls: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: The `id` of the Linode. example: '{{linodeId}}' in: path name: linodeId required: true schema: example: 234 type: integer x-akamai: file-path: parameters/linode-id.yaml - description: The `id` of the Linode interface. example: '{{interfaceId}}' in: path name: interfaceId required: true schema: example: 1234 type: integer x-akamai: file-path: parameters/linode-interface-id-path.yaml x-akamai: file-path: paths/linode-interface-firewalls.yaml path-info: /{apiVersion}/linode/instances/{linodeId}/interfaces/{interfaceId}/firewalls status: BETA x-linode-cli-command: linodes get: description: '__Beta__ Lists firewalls assigned to an interface. > --- - __CLI__. ``` linode-cli linodes interface-firewalls-list $linodeId $interfaceId ``` Learn more... - __OAuth scopes__. ``` linodes:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-linode-interface-firewalls operationId: get-linode-interface-firewalls responses: '200': content: application/json: example: data: - created: '2025-01-01T00:01:01' id: 123 label: firewall123 rules: inbound: - action: ACCEPT addresses: ipv4: - 192.0.2.0/24 - 192.0.2.148/24 ipv6: - 2001:DB8::/128 description: An example firewall rule description. label: firewallrule123 ports: 22-24, 80, 443 protocol: TCP inbound_policy: DROP outbound: - action: ACCEPT addresses: ipv4: - 192.0.2.0/24 - 192.0.2.156/24 ipv6: - 2001:DB8::/128 description: An example firewall rule description. label: firewallrule123 ports: 22-24, 80, 443 protocol: TCP outbound_policy: DROP status: enabled tags: - example tag - another example updated: '2025-01-02T00:01:01' page: 1 pages: 1 results: 1 schema: allOf: - additionalProperties: false description: An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information. properties: page: description: __Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer pages: description: __Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer results: description: __Read-only__ The total number of results. example: 1 readOnly: true type: integer type: object x-akamai: file-path: schemas/pagination-envelope.yaml - properties: data: items: additionalProperties: false description: A resource that controls incoming and outgoing network traffic to a compute service. Only one enabled Firewall can be attached to a particular service at any given time. [Create a firewall device](https://techdocs.akamai.com/linode-api/reference/post-firewall-device) to assign a Firewall to a service. Currently, Firewalls can assigned to Linode compute instances and NodeBalancers. properties: created: description: __Filterable__, __Read-only__ When this Firewall was created. example: '2025-01-01T00:01:01' format: date-time readOnly: true type: string x-akamai: labels: - Filterable x-linode-cli-display: 4 x-linode-filterable: true entities: description: __Read-only__ The Linodes, NodeBalancers, and Linode interfaces this firewall is assigned to. items: additionalProperties: false properties: id: description: The entity's ID. example: 123 type: integer label: description: __Read-only__ The entity's label. example: my-linode readOnly: true type: string parent_entity: additionalProperties: false description: __Read-only__ The Linode this `linode_interface` is assigned to. Returns `null` when the entity `type` is `linode` or `nodebalancer`. properties: id: description: The ID of the Linode assigned to this `linode_interface`. example: 5000 type: integer label: description: The name of the Linode this `linode_interface` is assigned to. example: linode5000 type: string parent_entity: description: __Read-only__ Currently, no parent entity has a parent of its own. Each `parent_entity` will have its own `parent_entity` set to `null`. example: null readOnly: true type: - string - 'null' type: description: A Linode interface’s `parent_entity` is a `linode`. enum: - linode example: linode type: string url: description: The API URL path you can use to access this entity. example: /v4/linode/instances/5000 format: url type: string readOnly: true type: - object - 'null' type: description: The entity's type. enum: - linode - linode_interface - nodebalancer example: linode_interface type: string url: description: __Read-only__ The API URL path you can use to access this entity. example: /v4/linode/instances/123 format: url readOnly: true type: string type: object readOnly: true type: array id: description: __Filterable__, __Read-only__ The Firewall's unique ID. example: 123 readOnly: true type: integer x-akamai: labels: - Filterable x-linode-cli-display: 1 x-linode-filterable: true label: description: "__Filterable__ The Firewall's label, for display purposes only.\n\nFirewall labels have the following constraints:\n\n - Must begin and end with an alphanumeric character.\n - May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n - Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row.\n - Must be between 3 and 32 characters.\n - Must be unique." example: firewall123 maxLength: 32 minLength: 3 pattern: ^[a-zA-Z]((?!--|__|\.\.)[a-zA-Z0-9-_.])+$ type: string x-akamai: labels: - Filterable x-linode-cli-display: 2 x-linode-filterable: true rules: additionalProperties: false description: 'The inbound and outbound access rules to apply to the Firewall. A Firewall may have up to 25 rules across its inbound and outbound rulesets. 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.' properties: fingerprint: description: __Read-only__ The fingerprint is a 32-bit hash. It represents the firewall rules as an 8 character hex string. You can use `fingerprint` to compare rule versions. example: 997dd135 readOnly: true type: string inbound: description: The inbound rules for the firewall, as a JSON array. items: additionalProperties: false description: One of a Firewall's inbound or outbound access rules. The `ports` property can be used to allow traffic on a comma-separated list of different ports. properties: action: description: Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall's `inbound_policy` if this is an inbound rule, or the `outbound_policy` if this is an outbound rule. enum: - ACCEPT - DROP example: ACCEPT type: string addresses: additionalProperties: false description: 'The IPv4 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. Must contain `ipv4`, `ipv6`, or both.' properties: ipv4: description: 'A list of IPv4 addresses or networks. Addresses must be in IP/mask format. Must not be an empty list. If `0.0.0.0/0` is included in this list, all IPv4 addresses are affected by this rule.' example: - 192.0.2.0/24 - 198.51.100.2/32 items: type: string type: array ipv6: description: 'A list of IPv6 addresses or networks. Addresses must be in IP/mask format and must not include zone_id notation as described in [RFC 4007](https://www.rfc-editor.org/rfc/rfc4007). Must not be an empty list. If `::/0` is included in this list, all IPv6 addresses are affected by this rule.' example: - 2001:DB8::/128 items: type: string type: array type: object description: description: Used to describe this rule. For display purposes only. example: An example firewall rule description. maxLength: 100 minLength: 1 type: string label: description: Used to identify this rule. For display purposes only. example: firewallrule123 maxLength: 32 minLength: 3 type: string ports: description: 'A string representing the port or ports affected by this rule: - 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. - 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. - Ports must be within 1 and 65535, and may not contain any leading zeroes. For example, port `080` is not allowed. - 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. - If no ports are configured, all ports are affected. - Only allowed for the TCP and UDP protocols. Ports are not allowed for the ICMP and IPENCAP protocols.' example: 22-24, 80, 443 type: - string - 'null' protocol: description: The type of network traffic affected by this rule. enum: - TCP - UDP - ICMP - IPENCAP example: TCP type: string type: object x-akamai: file-path: schemas/firewall-rule-config.yaml type: array x-linode-cli-format: json inbound_policy: description: The default behavior for inbound traffic. This setting can be overridden by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `inbound.action` property of the Firewall Rule. enum: - ACCEPT - DROP example: DROP type: string outbound: description: The outbound rules for the firewall, as a JSON array. items: additionalProperties: false description: One of a Firewall's inbound or outbound access rules. The `ports` property can be used to allow traffic on a comma-separated list of different ports. properties: action: description: Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall's `inbound_policy` if this is an inbound rule, or the `outbound_policy` if this is an outbound rule. enum: - ACCEPT - DROP example: ACCEPT type: string addresses: additionalProperties: false description: 'The IPv4 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. Must contain `ipv4`, `ipv6`, or both.' properties: ipv4: description: 'A list of IPv4 addresses or networks. Addresses must be in IP/mask format. Must not be an empty list. If `0.0.0.0/0` is included in this list, all IPv4 addresses are affected by this rule.' example: - 192.0.2.0/24 - 198.51.100.2/32 items: type: string type: array ipv6: description: 'A list of IPv6 addresses or networks. Addresses must be in IP/mask format and must not include zone_id notation as described in [RFC 4007](https://www.rfc-editor.org/rfc/rfc4007). Must not be an empty list. If `::/0` is included in this list, all IPv6 addresses are affected by this rule.' example: - 2001:DB8::/128 items: type: string type: array type: object description: description: Used to describe this rule. For display purposes only. example: An example firewall rule description. maxLength: 100 minLength: 1 type: string label: description: Used to identify this rule. For display purposes only. example: firewallrule123 maxLength: 32 minLength: 3 type: string ports: description: 'A string representing the port or ports affected by this rule: - 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. - 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. - Ports must be within 1 and 65535, and may not contain any leading zeroes. For example, port `080` is not allowed. - 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. - If no ports are configured, all ports are affected. - Only allowed for the TCP and UDP protocols. Ports are not allowed for the ICMP and IPENCAP protocols.' example: 22-24, 80, 443 type: - string - 'null' protocol: description: The type of network traffic affected by this rule. enum: - TCP - UDP - ICMP - IPENCAP example: TCP type: string type: object x-akamai: file-path: schemas/firewall-rule-config.yaml type: array x-linode-cli-format: json outbound_policy: description: The default behavior for outbound traffic. This setting can be overridden by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `outbound.action` property of the Firewall Rule. enum: - ACCEPT - DROP example: ACCEPT type: string version: description: __Read-only__ The firewall's rule version. The first version is `1`. The version number is incremented when the firewall's rules change. example: 1 readOnly: true type: integer type: object status: description: "__Read-only__ The status of this Firewall.\n\n - When a Firewall is first created its status is `enabled`.\n - Run the [Update a firewall](https://techdocs.akamai.com/linode-api/reference/put-firewall) operation to set a Firewall's status to `enabled` or `disabled`.\n - Run the [Delete a firewall](https://techdocs.akamai.com/linode-api/reference/delete-firewall) operation to delete a Firewall." enum: - enabled - disabled - deleted example: enabled readOnly: true type: string x-linode-cli-display: 3 tags: description: __Filterable__ An array of tags applied to this object. Tags are for organizational purposes only. example: - example tag - another example items: type: string type: array x-akamai: labels: - Filterable x-linode-filterable: true updated: description: __Filterable__, __Read-only__ When this Firewall was last updated. example: '2025-01-02T00:01:01' format: date-time readOnly: true type: string x-akamai: labels: - Filterable x-linode-cli-display: 5 x-linode-filterable: true type: object x-akamai: file-path: schemas/firewall.yaml type: array type: object x-akamai: file-path: schemas/added-get-linode-interfaces-firewalls-200.yaml description: Returns a paginated list of firewalls assigned to an interface. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - nodebalancers:read_only summary: List Linode interface firewalls tags: - Linode interfaces x-akamai: status: BETA tabs: - syntax: linode-cli linodes interface-firewalls-list $linodeId $interfaceId title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: linodes:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: interface-firewalls-list x-linode-grant: read_only /{apiVersion}/linode/instances/{linodeId}/upgrade-interfaces: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: The `id` of the Linode. example: '{{linodeId}}' in: path name: linodeId required: true schema: example: 234 type: integer x-akamai: file-path: parameters/linode-id.yaml x-akamai: file-path: paths/linode-interface-upgrade.yaml path-info: /{apiVersion}/linode/{linodeId}/upgrade-interfaces status: BETA x-linode-cli-command: linodes post: description: '__Beta__ Automatically upgrades all legacy config interfaces of a single configuration profile to Linode interfaces. A Linode interface is directly associated with the Linode, rather than being tied to a configuration profile. Firewalls are applied to the Linode interface, not directly to the Linode itself. > ❗️ This upgrade is irreversible > > Once you upgrade a Linode to use Linode interfaces, you can''t use legacy config interfaces. This means you can no longer use the Linode with any Linode products that require private IPs, such as NodeBalancer. You can use `dry_run` to preview the upgrade. Before upgrading interfaces, you can check the new Linode interface configuration by performing a dry run, where you set `dry_run` to `true` or omit it. A `dry_run` runs the upgrade logic and returns a JSON representation of what the interface configuration will be after the upgrade without committing any changes. When you run this operation with `dry_run` set to `false`, the following occurs: - It creates matching interfaces on the Linode based on the interfaces present on the `config_id`. - All firewalls are removed from the Linode. Any firewalls that were originally attached to the Linode are now applied to the public and VPC interfaces. If the Linode has no firewalls attached, then default firewalls are not used. - If no legacy config interfaces are defined (`legacy_config`) in the `config_id`, a public interface is created using the public IPv4 assigned to the Linode. The same is the case if the Linode has no config defined. - For public interfaces, the Linode''s current MAC address and SLAAC address are conserved. The MAC address won''t change. - It deletes all legacy config interfaces from all configs. - It returns the list of interfaces for the Linode. Requirements: - The `config_id` for the legacy config interfaces can''t use a public interface private IPv4 address. - The Linode needs a MAC address in the database if it''s IPv6 enabled. If it doesn''t, an error message tells you what to do. - The Linode must be in a region that supports Linode interfaces. Run Get a region. - Your account must allow creation of Linodes with Linode interfaces, run Get account settings. - If the Linode has a user with a non-standard username, it can''t be upgraded. > --- - __CLI__. ``` linode-cli linodes interfaces-upgrade $linodeId ``` Learn more... - __OAuth scopes__. ``` linodes:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces operationId: post-upgrade-linode-interfaces requestBody: content: application/json: schema: additionalProperties: false description: Upgrades a legacy configuration interface on a Linode to a matching Linode interface. properties: config_id: default: null description: 'The Linode''s `config_id`. Only one `config_id` can be specified: - If there are no legacy configuration interfaces or configurations defined in the config_id, a public interface is created using the Linode''s automatically assigned public IPv4 address. - If a config_id is not provided and the Linode has only one configuration, the upgrade automatically uses that config_id. - If the Linode has multiple configurations and a config_id is not specified, an error is returned.' example: '{{config_id}}' type: - integer - 'null' dry_run: default: true description: 'Before you upgrade interfaces, you can preview the new Linode interface by performing a `dry_run`: - Either omit `dry_run` or set it to `true` to simulate the upgrade process. The response data shows what the Linode interface will look like after the upgrade, but without committing any changes. Since the interface doesn''t exist yet, the interface `id` value is 0. - If `dry_run` is set to `false`, the Linode undergoes the actual upgrade, but note you need to first shut down the Linode.' example: '{{dry_run}}' type: boolean type: - object - 'null' x-akamai: file-path: schemas/added-post-linode-interface-upgrade.yaml x-example: x-ref: ../examples/linode-interface.json description: Upgrade to a Linode interface or perform a dry run upgrade. responses: '200': content: application/json: examples: ex-public: summary: Public interface value: config_id: 4567 dry_run: true interfaces: - created: '2024-01-01T00:01:01' default_route: ipv4: true ipv6: true id: 0 mac_address: 22:00:AB:CD:EF:01 public: ipv4: addresses: - address: 172.30.0.50 primary: true shared: - address: 172.30.0.51 linode_id: 12345 ipv6: ranges: - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef - range: 2001:DB8::/64 route_target: 2600:3c09::ff:feab:cdef shared: - range: 2001:DB8::/64 route_target: null slaac: - address: 2600:3c09::ff:feab:cdef prefix: 64 updated: '2024-01-01T00:01:01' version: 1 vlan: null vpc: null ex-vlan: summary: VLAN interface value: config_id: 4567 dry_run: true interfaces: - created: '2024-01-01T00:01:01' default_route: {} id: 0 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2024-01-01T00:01:01' version: 1 vlan: ipam_address: 10.0.0.1/24 vlan_label: my-vlan vpc: null ex-vpc: summary: VPC interface value: config_id: 4567 dry_run: true interfaces: - created: '2024-01-01T00:01:01' default_route: ipv4: true id: 0 mac_address: 22:00:AB:CD:EF:01 public: null updated: '2024-01-01T00:01:01' version: 1 vlan: null vpc: ipv4: addresses: - address: 192.168.22.3 nat_1_1_address: null primary: true ranges: - range: 192.168.22.16/28 - range: 192.168.32.16/28 subnet_id: 1234 vpc_id: 1234 schema: additionalProperties: false description: Upgraded interfaces properties: config_id: description: The Linode's `config_id` that was upgraded. example: 4567 type: integer x-linode-cli-display: 2 dry_run: description: Indicates if this was a `dry_run` upgrade that didn't commit any changes and didn't generate a unique interface ID. If `dry_run` is `false`, the upgrade completed. example: true type: boolean x-linode-cli-display: 1 interfaces: items: description: 'One of the following interface types: VPC, public, or VLAN.' oneOf: - additionalProperties: false description: A public interface configuration defines the properties and settings for a specific public interface in the Linode network. properties: created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 default_route: additionalProperties: false description: Indicates if the interface is used as a default route. properties: ipv4: default: false description: Indicates if the interface is used for the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 ipv6: default: false description: Indicates if the interface is used for the IPv6 default route. Only one interface per Linode can have the IPv6 default route. example: true type: boolean x-linode-cli-display: 6 type: - object - 'null' id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. A public interface's `mac_address` does not change, even if the public interface is deleted and then recreated. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: additionalProperties: false description: Public interface type. properties: ipv4: additionalProperties: false description: The interface's public IPv4 `addresses`. properties: addresses: description: The public IPv4 addresses and primary settings for this public interface. items: additionalProperties: false properties: address: description: The public IPv4 address assigned to this interface. example: 172.232.100.100 type: string x-linode-cli-display: 8 primary: description: Indicates if the public IPv4 address serves as the source address for traffic routing within the Linode and other corresponding network interfaces and services. example: true type: boolean x-linode-cli-display: 9 type: object type: array shared: description: The IPv4 address assigned to this Linode interface, which is also shared with another Linode. items: additionalProperties: false properties: address: description: Shared IPv4 address. example: 172.222.33.4 type: string x-linode-cli-display: 10 linode_id: description: The ID of the Linode this address currently belongs to. For IPv4 addresses, by default this is the Linode this address was assigned when created. example: 12345 type: string x-linode-cli-display: 11 type: object type: array type: object ipv6: additionalProperties: false description: The interface's public IPv6 configuration. properties: ranges: description: List of IPv6 ranges assigned to this interface. items: additionalProperties: false properties: range: description: IPv6 range in CIDR notation (`2600:0db8::1/64`) or prefix-only (`/64`). example: 2600:3c09:e001:59::/64 type: string x-linode-cli-display: 16 route_target: description: The public IPv6 address that the `range` is routed to. example: 2600:3c09::ff:feab:cdef type: string x-linode-cli-display: 17 type: object type: array shared: description: The IPv6 address assigned to this Linode interface, which is also shared with another Linode. items: additionalProperties: false properties: range: description: The IPv6 address range. example: 2600:3c09:e001:2a::/64 type: string x-linode-cli-display: 14 route_target: description: The public IPv6 address that the `range` is routed to. example: null type: string x-linode-cli-display: 15 type: object type: array slaac: description: The public `slaac` and subnet prefix settings for this public interface that is used to communicate over the public internet, and with other services in the same data center. items: additionalProperties: false properties: address: description: Public IPv6 addresses assigned to this interface. example: 2600:3c09::ff:feab:cdef type: string x-linode-cli-display: 12 prefix: description: The prefix length advertised for SLAAC to use. Only the specific (`/128`) EUI-64 address derived from the interface's MAC address is supported. To ensure the MAC-based EUI-64 address is used, privacy addressing needs to be disabled. Network Helper automatically configures the MAC-derived EUI-64 address. If you disable Network Helper or use an unsupported operating system, follow the specific instructions for your OS. example: 64 type: integer x-linode-cli-display: 13 type: object type: array type: object type: object updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: Interface version number that increments when the interface updates. example: 1 type: integer x-linode-cli-display: 7 vlan: description: The value is `null` if this is not a VLAN interface. example: null type: - object - 'null' vpc: additionalProperties: false description: The value is `null` if this is not a VPC interface. example: null type: - object - 'null' title: Public interface type: object x-akamai: file-path: schemas/linode-interface-public.yaml - additionalProperties: false description: A VLAN interface configuration defines the properties and settings for a specific VLAN interface in the Linode network. properties: created: description: When the interface was created. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 3 id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. The `mac_address` of an interface remains constant and does not change. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: description: The value is `null` if this isn't a public interface. example: null type: - object - 'null' updated: description: When the interface was last updated. example: '2024-01-01T00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: Interface version number that is incremented when the interface is updated. example: 1 type: integer x-linode-cli-display: 5 vlan: additionalProperties: false description: VLAN interface type. properties: ipam_address: description: This VLAN interface's private IPv4 address in classless inter-domain routing (CIDR) notation. example: 10.0.0.1/24 format: ip/netmask type: - string - 'null' x-linode-cli-display: 7 vlan_label: description: The VLAN's label. VLAN interfaces on the same Linode must have a unique `vlan_label`. example: my-vlan type: string x-linode-cli-display: 6 type: object vpc: description: The value is `null` if this isn't a VPC interface. example: null type: - object - 'null' title: VLAN interface type: object x-akamai: file-path: schemas/linode-interface-vlan.yaml - additionalProperties: false description: A VPC interface configuration defines settings for a specific VPC interface in the Linode network. properties: created: description: When the interface was created. example: '2025-01-01 00:01:01' format: date-time type: string x-linode-cli-display: 3 default_route: additionalProperties: false description: Indicates if the interface serves as a default route. properties: ipv4: default: false description: Indicates if the interface serves as the IPv4 default route. Only one interface per Linode can have the IPv4 default route. example: true type: boolean x-linode-cli-display: 5 type: object id: description: __Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0. example: 1234 readOnly: true type: integer x-linode-cli-display: 1 mac_address: description: A 48-bit MAC address used to identify the Linode’s interface. The `mac_address` of an interface remains constant and does not change. example: 22:00:AB:CD:EF:01 maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9-]+' type: string x-linode-cli-display: 2 public: additionalProperties: false description: The value is `null` if this is not a public interface. example: null type: - object - 'null' updated: description: When the interface last updated. example: '2025-01-01 00:01:01' format: date-time type: string x-linode-cli-display: 4 version: description: The version number of the interface configuration, incremented each time the interface is updated. example: 1 type: integer x-linode-cli-display: 6 vlan: additionalProperties: false description: The value is `null` if this is not a VLAN interface. example: null type: - object - 'null' vpc: additionalProperties: false description: VPC interface type. properties: ipv4: additionalProperties: false description: The interface's IPv4 `addresses` and `ranges` configuration. properties: addresses: description: IPv4 address settings for this VPC interface. items: additionalProperties: false properties: address: description: The VPC subnet IPv4 address. example: 192.168.22.3 type: string x-linode-cli-display: 9 nat_1_1_address: description: The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address. example: null type: - string - 'null' x-linode-cli-display: 11 primary: description: Indicates if the IPv4 address is used to set up a source address for routes inside the Linode for the corresponding network interface. example: true type: boolean x-linode-cli-display: 10 type: object type: array ranges: description: VPC IPv4 ranges. items: additionalProperties: false properties: range: description: CIDR notation of a range (`1.2.3.4/24`) or prefix only (`/24`). example: 192.168.22.16/28 type: string x-linode-cli-display: 12 type: object type: array type: object subnet_id: description: VPC subnet's unique identifier. example: 1234 type: integer x-linode-cli-display: 8 vpc_id: description: VPC's unique identifier. example: 1234 type: integer x-linode-cli-display: 7 type: object title: VPC interface type: object x-akamai: file-path: schemas/linode-interface-vpc.yaml type: object x-akamai: file-path: schemas/linode-interface.yaml type: array type: object x-akamai: file-path: schemas/linode-interface-upgrade.yaml description: Upgrade or `dry_run` upgrade completed. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - linodes:read_write summary: Upgrade to Linode interfaces tags: - Linode interfaces x-akamai: status: BETA tabs: - syntax: linode-cli linodes interfaces-upgrade $linodeId title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: linodes:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: interfaces-upgrade x-linode-grant: read_write components: securitySchemes: oauth: flows: authorizationCode: authorizationUrl: https://login.linode.com/oauth/authorize scopes: account:read_only: Allows access to GET information about your account. account:read_write: Allows access to all endpoints related to your account. domains:read_only: Allows access to GET Domains on your account. domains:read_write: Allows access to all Domain endpoints. events:read_only: Allows access to GET your Events. events:read_write: Allows access to all endpoints related to your Events. firewall:read_only: Allows access to GET information about your Firewalls. firewall:read_write: Allows access to all Firewall endpoints. images:read_only: Allows access to GET your Images. images:read_write: Allows access to all endpoints related to your Images. ips:read_only: Allows access to GET your ips. ips:read_write: Allows access to all endpoints related to your ips. linodes:read_only: Allows access to GET Linodes on your account. linodes:read_write: Allow access to all endpoints related to your Linodes. lke:read_only: Allows access to GET LKE Clusters on your account. lke:read_write: Allows access to all endpoints related to LKE Clusters on your account. longview:read_only: Allows access to GET your Longview Clients. longview:read_write: Allows access to all endpoints related to your Longview Clients. monitor:read-write: Allows access to all Monitor (Akamai Cloud Pulse) endpoints. monitor:read_only: Allows access to Monitor (Akamai Cloud Pulse) data. nodebalancers:read_only: Allows access to GET NodeBalancers on your account. nodebalancers:read_write: Allows access to all NodeBalancer endpoints. object_storage:read_only: Allows access to GET information related to your Object Storage. object_storage:read_write: Allows access to all Object Storage endpoints. stackscripts:read_only: Allows access to GET your StackScripts. stackscripts:read_write: Allows access to all endpoints related to your StackScripts. volumes:read_only: Allows access to GET your Volumes. volumes:read_write: Allows access to all endpoints related to your Volumes. vpc:read_write: Allows access to all endpoints related to VPC and Subnet creation, updating, and deletion. tokenUrl: https://login.linode.com/oauth/token type: oauth2 personalAccessToken: scheme: bearer type: http externalDocs: description: See documentation for Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference x-readme: samples-languages: - curl - python - node